全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  Python面试题

请说一下Scrapy及底层实现?如何设置多线程?爬虫除了Scrapy还了解过其他框架吗?

发布时间:2022-08-22 11:18:32
发布人:wjy

请说一下Scrapy及底层实现?如何设置多线程?爬虫除了Scrapy还了解过其他框架吗?

Scrapy由五大组件组成:调度器(Scheduler)、下载器(Dpwnloader)、爬虫(Spider) 、实体管道(item Pipline)、 Scrapy引 |擎(Scrapy Engine) 

(1)爬虫将url通过引擎交给调度器; 

(2)排序处理后,经ScrapyEngine, DownloaderMiddlewares(有User_ Agent, Proxy代理)交给 Downloader; 

(3) Downloader向互 联网发送请求,并接收下载响应,将响应经ScrapyEngine, 可选交给Spiders; 

(4) Spiders处理response, 提取数据并将数据经ScrapyEngine交给ItemPipeline保存; . 

(5)提取url重新経ScrapyEngine交給Scheduler迸行 下一-个循坏。直到无Url清求程序停止結束。

scrapy网络请求是基于Twisted,而Twisted默认支持多线程,而且scrapy默认也是通过多线程请求的, 并且支持多核CPU的并发,我们通过一些设置提高scrapy的并发数可以提高爬取速度。

settingFixl : CONCURRENT_ REQUESTS_ PER_ _IP= 100 CONCURRENT_ REQUESTS= 100 CONCURRENT REQUESTS_ PER_ DOMAIN= 100 除了Scrapy框架还有PySpider。

Scrapy及底层实现

相关文章

华为外包python面试题-Python实现斐波那契数列

2023-07-25

常见Python程序员面试题

2023-07-21

Python面试题及答案

2023-07-20

matlab和python实现pca降维算法

2023-03-29

【Python面试题】运行下面的代码是否会报错?

2022-08-23

【Python面试题】对下面给出的字典按值从大到小对键进行排序。

2022-08-23
在线咨询 免费试学 教程领取