前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之Scrapy海报资源海量下载

Python之Scrapy海报资源海量下载

作者头像
用户6825444
发布2019-12-18 11:27:41
4600
发布2019-12-18 11:27:41
举报

简介

今天小编给大家带来的是使用 Python 的 scrapy 框架快速写一个“千图网”的海报原图下载的爬虫,可以给设计专业的相关的人下载图片参考设计海报,也可在活动时,直接下载海报使用,目标“http://www.58pic.com/piccate/3-0-0-default-0_2_0_0_default_0-1.html

开发环境

及配置

创建文件在“Python之Scrapy框架当当网口红爬虫”这篇中讲过,在此不重复。

创建项目文件

创建文件在“Python之Scrapy框架当当网口红爬虫”这篇中讲过,在此不重复。

项目文件简介

创建文件在“Python之Scrapy框架当当网口红爬虫”这篇中讲过,在此不重复。

item.py编写

settings.py配置

一、配置爬虫是否遵守 robot 协议,默认是遵守,如下图

要改为不遵守,把 True 改为 False,如下图

二、cookies 配置,为了让浏览器不能识别我们 本地的 cookies,识别不出是爬虫行为,如下图

把注释删掉就启动了

三、piplines.py 实体管道的开启,同上理,把注释删掉

piplines.py编写

这里只有一个函数,就是专门下载图片的函数,关键步骤已经给出注释

在分析海报的 url 时,我们在源代码中看到的是缩略图的 url,要想找到原图 url 只需要点开这个海报打开对应的所在网址,在图片那里单击右键复制‘复制图片地址’,并不是原图的 url,缩略图并没有原图清晰,我们要处理缩略图的 url,缩略图与原图的url 是有着规律的,找到规律就行,在我的源码项目里面的 ‘url_comparison.txt’ 有说明

创建下载地址,下载图片,用了一个异常防止一个下载失败,而程序终止

kouhong.py编写

这里是爬取缩略图 url 以及海报所对应的名称,使用 xpath 提取

在爬取缩略图 url 时要注意,每一页有 35 个海报,前 12 张与后 23 张海报的提取 url 的属性是不同的,我们要分开提取,然后合并成一个列表,属性如下图,第一张为前 12 张的 url 属性,第二章为后 23 张的 url 属性,虽然第二张图我们可以看到也有 ‘src’ 属性,但提取返回的结果是错误的

测试运行

附录

当然这个姿势电商海报的下载,还可以下载ppt,word模板,设计元素等

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木下学Python 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档