博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scrapy爬虫框架之理解篇(个人理解)
阅读量:4349 次
发布时间:2019-06-07

本文共 934 字,大约阅读时间需要 3 分钟。

 

提问: 为什么使用scrapy框架来写爬虫 ?

           在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请求程序停止结束。

 

转载于:https://www.cnblogs.com/x-pyue/p/7795315.html

你可能感兴趣的文章
iReport采用JDBC的方式连接Oracle
查看>>
MongoDB 数据库的可视化
查看>>
AOP中的相关概念
查看>>
【转】内存溢出、内存泄漏、内存越界、缓冲区溢出、栈溢出
查看>>
监控系统信息模块psutil
查看>>
python tokenizer
查看>>
类的成员修饰符
查看>>
A - Race to 1 Again
查看>>
HDU 1754 I hate it
查看>>
实现滑动出现删除按钮的代码
查看>>
windows提权exp列表
查看>>
一个老软件测试工程师的日志(转)
查看>>
结对编程
查看>>
Android studio来开发移动App--SQA计划和系统测试规程
查看>>
模式学习(一)
查看>>
高精度计算(二)
查看>>
二位几何运算类
查看>>
ZOJ 3622 Magic Number 打表找规律
查看>>
BZOJ 1079: [SCOI2008]着色方案 记忆化搜索
查看>>
cdoj 1136 邱老师玩游戏 树形背包
查看>>