3.scrapy框架的大概了解scrapy的架构图
各个模块的介绍:
scrapy engine(scrapy引擎)
核心,负责控制数据流在系统中所有的组件中流动,
并在相应的动作发生时触发事件。
scheduler(调度器)
从引擎接受 request 并让其入队,以便之后引擎请求
它们时提供给引擎。
downloader(下载器)
获取页面数据并提供给引擎,而后提供给spider。
spiders(蜘蛛...)
编写用于分析由下载器返回的response,并提取出item
和额外跟进的url的类。
item pipeline(项目管道)
负责处理处理被spider提取出来的item。常见的处理有:
清理、验证和持久化。
download middlewares(下载器中间件)
引擎与下载器间的特定钩子,处理下载器传递给引擎的response。
spider middlewares(spider中间件)
引擎与spider间的特定钩子,处理spider输入(下载器的response)和
输出(发送给items给item pipeline,以及发送request给调度器)小编推荐大家加一下这个群:103456743这个群里好几千人了!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料web开发 爬虫资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了。欲进从速哦!各种pdf等你来下载!全部都是免费的哦!只为帮助大家快速入门,所以小编在群里等你们过来一起交流学习呢!
5.scrapy使用初体验
1.编写spider类爬取到网页
命令行键入:scrapy crawl pic_spider 执行picspider,执行完成后可以
看到,spider已经把这两个网站给扒下来了,厉害了:
在开始解析之前我们还要写一个item,就是拿来装我们爬取筛选
过后数据的容器,使用方法和python中的字典类似,并且提供了
额外的保护机制来避免因拼写错误导致的未定义字段错误。
打开项目中的items.py文件进行编辑,比如我这里只需要两个
字段,图片的标题以及链接:
3.存储数据得到我们的结果啦,最简单的存储数据的方式就是使用feed exports,支持四种导出格式:json,json lines,xml和csv使用也很简单,只是在平时执行scrapy脚本的后面加点东西:scrapy crawl spider名字 -o 导出文件名 -t 导出格式比如我这里导出xml:
输出结果:
4.下载图片
接着命令行运行我们的spider
scrapy crawl pic_spider
图片都哗哗哗地下载到本地了:
嘻嘻,略爽,比起之前那种手写的方式~
来源:
如有侵权请联系小编删除哦!