Scrapy
文章平均质量分 84
?????
这个作者很懒,什么都没留下…
展开
-
Scrapy 源码分析 6 Scrapy的Scheduler
简介Scrapy的Scheduler是scrapy中服务存储、调度Request,其中包括了对Request的去重、优先级设置等。1、BaseSchedulerMetaclass BaseSchedulerMeta(type): """ Metaclass to check scheduler classes against the necessary interface """ def __instancecheck__(cls, instance):原创 2022-03-25 14:37:14 · 767 阅读 · 0 评论 -
Scrapy 源码分析5 spider执行过程详解
前言运行scrapy的spider命令是scrapy crawl ***或者scrapy runspider ***.py背后处理逻辑基本一致,都是调用CrawlerProcess就行数据采集。下图是运行逻辑下图是核心处理方法 ExecutionEngine.open_spider下面是对上图过程的具体说明1、运行spider执行命令scrapy crawl ****或者scrapy runspider ***.py2、创建CrawlerProcesscmd.crawl原创 2022-03-25 12:50:23 · 1291 阅读 · 0 评论 -
Scrapy 源码分析 4 extensions middlewares详解
1 简介scrapy默认的extensions middlewares共有9个EXTENSIONS = {}EXTENSIONS_BASE = { 'scrapy.extensions.corestats.CoreStats': 0, 'scrapy.extensions.telnet.TelnetConsole': 0, 'scrapy.extensions.memusage.MemoryUsage': 0, 'scrapy.extensions.memdeb原创 2022-03-22 20:26:28 · 441 阅读 · 0 评论 -
Scrapy 源码分析 3 middlewares
1 简介Scrapy中有三种类型的middlewares,是Downloader middlewares,Spider middlewares,Extensions。Downloader middlewares:介于引擎和下载器之间,可以在网页在下载前、后进行逻辑处理; Spider middlewares:介于引擎和爬虫之间,在向爬虫输入下载结果前,和爬虫输出请求 / 数据后进行逻辑处理; Extensions : 处于整个流程当中,主要提供一些辅助和状态统计;2 共同基类 Middlewa原创 2022-03-22 19:30:11 · 568 阅读 · 0 评论 -
Scrapy 源码分析 2 Scrapy命令
1 简介源码截图scrapy一共有14类命令,每一类命令对应上不一个文件2 settings优先级说明SETTINGS_PRIORITIES = { 'default': 0, 'command': 10, 'project': 20, 'spider': 30, 'cmdline': 40,}class SettingsAttribute: """Class for storing data related to se原创 2022-03-22 12:25:43 · 727 阅读 · 0 评论 -
Scrapy 源码分析 1 架构概览
1 Scrapy 简介使用Scrapy的版本为2.5.0使用 Scrapy 开发一个爬虫非常简单,这里使用 Scrapy 的例子来说明如何编写一个简单爬虫:import scrapyclass IfengSpider(scrapy.Spider): name = 'ifeng' allowed_domains = ['ifeng.com'] start_urls = ['https://ifeng.com/'] def parse(self, resp.原创 2022-03-22 09:36:29 · 170 阅读 · 0 评论