继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

scrapy实战之爬取表情包

青春有我
关注TA
已关注
手记 1072
粉丝 205
获赞 1007

1、打开网站,点击最新套图

2、之后我们可以看到没有套图,我们需要提取每个套图的连接

3、获取连接之后,进入页面提取图片就好了

4、我们可以发现该网站还穿插有广告,我们需要过滤点广告

二、实战

关于新建项目我们就不再多说了。不知道的可以看看这篇文章:scrapy的基本使用

1、首先我们提取第一页的url

webp

通过上图我们可以发现我们想要的url全在class名为col-sm-9的div下,

红色框的部分为广告。不是a标签,所以我们就不用过滤了。我们直接选取col-sm-9下的直接子节点即可

写下如下代码:

webp

值得注意的是在settings.py中需要添加头信息和将robots.txt协议修改为False

webp

我们打上断点调试一下:

webp

我们发现我们想要的信息已经提取出来了。

注意:在Request中的mate参数,是用来传递参数的,传递给下一个方法使用。使用方法和字典相似。

2、完善item

我们只需要三个字段,什么系列,图片url,图片名称。

webp

3、提取item中我们需要的字段

webp

4、下一页

webp

5、保存

因为对scrapy保存图片没有研究,所以就自己写保存图片的方法。

在pipelines.py种添加如下代码:

webp

并且在settings.py中添加:

webp

6、运行

直接报错,所以我们在settings.py添加头信息

运行一段时候后又报错了,看来需要随机更换表头信息。

这里我们使用第三方库很方便,pip3 install fake_useragent

安装成功后我们在middlewares.py中导入:from fake_useragent import UserAgent

添加如下代码:

webp

在settings.py文件中添加

webp

运行main文件:

webp



作者:小新你蜡笔呢
链接:https://www.jianshu.com/p/66a68a7675b1


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP