前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scrapy抓取下载360图片

scrapy抓取下载360图片

作者头像
章鱼喵
发布2019-07-22 16:42:18
9180
发布2019-07-22 16:42:18
举报
文章被收录于专栏:codingcoding

需求分析

假设我们要做一个有关美食的网站,需要从360图片库采集一批美食图片,不仅是采集图片的链接,而是将图片下载到本地,引用第三方图片链接总是不可靠的,哪天设置了防盗链,又得重新忙活,还是要放在自己的图床才踏实

页面分析

进入360图片库,以美食分类为范例,url为:https://image.so.com/z?ch=food

下拉浏览器滚动条,在 chrome 的开发者模式中,可捕获到获取数据的请求:

获取图片数据的请求

从这些 url 的请求格式,可得出其规律为:https://image.so.com/zjl?ch=food&sn=数量&listtype=new&temp=1 每页的数量为 30 ,url 中的数量取值为 (页数-1)*30

因此,第一页的url便是:https://image.so.com/zjl?ch=food&sn=0&listtype=new&temp=1 直接访问该url,可得到以下json数据

json结果解析

创建项目

代码语言:javascript
复制
# 创建项目
$ scrapy startproject image_so
$ cd image_so
# 生成爬虫
$ scrapy genspider images image.so.com
Created spider 'images' using template 'basic' in module:
  image_so.spiders.images

修改 settings.py 配置文件:

代码语言:javascript
复制
# 不遵循 robots 协议,如果遵循,绝大多数网站都不能抓取
ROBOTSTXT_OBEY = False
ITEM_PIPELINES = {
    # 启用图片下载管道
    'scrapy.pipelines.images.ImagesPipeline': 1,
}
# 指定图片下载目录,会自动创建此目录
IMAGES_STORE = 'download_images'

编写爬虫代码

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求分析
  • 页面分析
  • 创建项目
  • 编写爬虫代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档