Scrapy 爬取网站图片与壁纸 -- 爬取网易阴阳师壁纸篇

引言

大家好!这一期的文章来跟大家讲讲如何使用 Python Scrapy 框架实现对网页上图片的爬取并大量下载。我们以网易旗下的阴阳师手游为例,给大家演示一下游戏壁纸的抓取过程。

第一步:分析网页 html 结构

首先,我们打开阴阳师手游的官网,进入到游戏壁纸下载页面:
在这里插入图片描述
将网页下拉,我们还能看到更多的排成三列的壁纸图片:
在这里插入图片描述
按F12打开控制台,Shift + Ctrl + C 组合键开启查看网页元素的模式,然后将鼠标移动到某一张壁纸上面,选择一个分辨率按钮点击,我们可以看到相对应的图片标签:
在这里插入图片描述
知道了图片url的信息,并不代表这些元素一定包含在网页的静态页面里。为了确保我们的爬虫能够从网页中拿到这个标签,我们来右键点击页面,查看网页源代码:
在这里插入图片描述
进入网页源码后,将页面往下拉,我们可以看到一个个 img 标签以相同的形式分装在不断重复的 div 里面:
在这里插入图片描述
每一个壁纸的图片地址,都封装在一个 item 下的 cover 下的 mask 中,我们只需要用 CSS 选择器或者 XPath 选择器匹配这些标签就能够顺利获取图片地址。好,很有精神!接下来让我们开启一个爬虫项目来爬取这些壁纸吧。

第二步:使用 Scrapy 框架构建爬虫程序

配置 setting.py

工欲善其事,必先利其器。首先我们在 settings.py 文件中配置好IMAGE相关的属性:
在这里插入图片描述
IMAGES_URLS_FIELD 定义了我们之后获取图片URL的字段,我们将这个字段名设置为 image_url
IMAGE_STORE 给出了图片保存的目录位置,我们把爬到的图片放在 [项目位置]/images/yys 文件夹下。
IAMGES_EXPIRES 给出了不重复爬取图片的天数,定为90天。

items.py 文件下创建图片 item 类

打开 items.py 文件,新建一个类,命名为 WallpaperYYSItem。这里一定需要一个 image_url 字段,之后会通过 ImagesPipeline 对该字段中的图片地址请求下载。


                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值