注意:不少人学Python过程当中会遇到各类烦恼问题,没有人帮答疑。为此小编建了个Python全栈免费答疑交流.裙 :一久武其而而流一思(数字的谐音)转换下能够找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一块儿相互监督共同进步!
css
1、爬取表情包思路(http://www.doutula.com)python
一、打开网站,点击最新套图网络
二、以后咱们能够看到没有套图,咱们须要提取每一个套图的链接框架
三、获取链接以后,进入页面提取图片就行了scrapy
四、咱们能够发现该网站还穿插有广告,咱们须要过滤点广告学习
2、实战网站
关于新建项目咱们就再也不多说了。不知道的能够看看这篇文章:scrapy的基本使用加密
一、首先咱们提取第一页的urlurl
经过上图咱们能够发现咱们想要的url全在class名为col-sm-9的div下,调试
红色框的部分为广告。不是a标签,因此咱们就不用过滤了。咱们直接选取col-sm-9下的直接子节点便可
写下以下代码:
值得注意的是在settings.py中须要添加头信息和将robots.txt协议修改成False
咱们打上断点调试一下:
咱们发现咱们想要的信息已经提取出来了。
注意:在Request中的mate参数,是用来传递参数的,传递给下一个方法使用。使用方法和字典类似。
二、完善item
咱们只须要三个字段,什么系列,图片url,图片名称。
三、提取item中咱们须要的字段
四、下一页
五、保存
由于对scrapy保存图片没有研究,因此就本身写保存图片的方法。
在pipelines.py种添加以下代码:
而且在settings.py中添加:
六、运行
直接报错,因此咱们在settings.py添加头信息
运行一段时候后又报错了,看来须要随机更换表头信息。
这里咱们使用第三方库很方便,pip3 install fake_useragent
安装成功后咱们在middlewares.py中导入:from fake_useragent import UserAgent
添加以下代码:
在settings.py文件中添加
运行main文件:
便可。
小结:
效果图:
问题:
在运行过程当中遇到了四个问题:
一、没有获取大到图片链接:
可能这个网站有两个版本获取的css方式不同。
解决方法:可使用xpath中的|(或)来解决
二、没有获取到图片名称
解决方法:同上
三、图片名称相同
解决方法:可使用md5加密后添加,你也可使用你本身的方法
四、在图片名中含有?/\等非法字符
解决方法:能够经过正则过滤,若是md5加密,那么一下解决两个问题。
虽然有些图片没有获取到,可是仍是爬取了不少。有兴趣的能够尝试去修改。
注意:不少人学Python过程当中会遇到各类烦恼问题,没有人帮答疑。为此小编建了个Python全栈免费答疑交流.裙 :一久武其而而流一思(数字的谐音)转换下能够找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一块儿相互监督共同进步!本文的文字及图片来源于网络加上本身的想法,仅供学习、交流使用,不具备任何商业用途,版权归原做者全部,若有问题请及时联系咱们以做处理。