Python爬虫——利用Scrapy批量下载图片

  1. 解析出实体(Item),则交给实体管道进行进一步的处理;

  2. 解析出的是链接(URL),则把URL交给调度器等待抓取。

页面结构分析

  1. 首先查看目标页面,可以看到包含多个主题,选取感兴趣主题,本项目以“风景”为例(作为练习,也可以通过简单修改,来爬取所有模块内图片)。

目标页面

  1. 在“风景”分类页面,可以看到每页包含多个专题,利用开发者工具,可以查看每个专题的URL,拷贝相应XPath,利用Xpath的规律性,构建循环,用于爬取每个专题内容。

在这里插入图片描述

查看不同专题的XPath

/html/body/div[3]/div/div[3]/div[1]/div[1]/div[2]/div/div/ul/li[1]/a

/html/body/div[3]/div/div[3]/div[1]/div[1]/div[2]/div/div/ul/li[2]/a

利用上述结果,可以看到li[index]中index为专题序列。因此可以构建Xpath列表如下:

item_selector = response.xpath(‘/html/body/div[3]/div/div[3]/div[1]/div[1]/div[2]/div/div/ul/li/a/@href’)

  1. 利用开发者工具,可以查看下一页的URL,拷贝相应XPath用于爬取下一页内容。

在这里插入图片描述

查看“下一页”的XPath

/html/body/div[3]/div/div[3]/div[1]/div[2]/div/a[5]

因此可以构建如下XPath:

next_selector = response.xpath(‘//a[@class=“next”]’)

  1. 点击进入专题,可以看到具体图片,通过查看图片XPath,用于获取图片地址。

在这里插入图片描述

构建图片XPath

response.xpath(‘/html/body/div[3]/div/div[2]/div/div[2]/div[1]/div/a/img/@src’).extract_first()

  1. 可以通过标题和图片序列构建图片名。

在这里插入图片描述

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值