博客已经搬家到“捕获完成”:
https://www.v2python.com
https://twitter.com/realDonaldTrump/status/1131393056299786240
http://bbs.itheima.com/thread-414606-1-1.html
1、Scrapy框架实战:制作图片爬虫(已学)
https://www.w3cschool.cn/minicourse/play/scrapy_xb#menulist
2、【小琦资源】Python全系列之爬虫scrapy框架及案例
https://www.bilibili.com/video/av37438466?from=search&seid=8816658636007834666
3、通用爬虫-MongoDB数据库-爬虫scrapy框架
https://www.bilibili.com/video/av44492221?from=search&seid=8816658636007834666
在python爬虫中:requests + selenium 可以解决目前90%的爬虫需求,难道scrapy 是解决剩下的10%的吗?显然不是。scrapy框架是为了让我们的爬虫更强大、更高效。接下来我们一起学习一下它吧。
1.scrapy 的基础概念:
scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy 使用了 Twisted['twɪstɪd]
(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html
2. scrapy 的工作流程:
之前我们所写爬虫的流程:
那么 scrapy是如何帮助我们抓取数据的呢?
scrapy框架的工作流程:
1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。
2.Scheduler(排序,入队)处理后,经ScrapyEngine,DownloaderMiddlewares(可选,主要有User_Agent, Proxy代理)交给Downloader。
3.Downloader向互联网发送请求,并接收下载响应(response)。将响应(response)经ScrapyEngine,SpiderMiddlewares(可选)交给Spiders。
4.Spiders处理response,提取数据并将数据经ScrapyEngine交给ItemPipeline保存(可以是本地,可以是数据库)。提取url重新经ScrapyEngine交给Scheduler进行下一个循环。直到无Url请求程序停止结束。