![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
三头六臂的小白
这个作者很懒,什么都没留下…
展开
-
开启Hyper-v,使用蓝叠模拟器进行抓包的曲折经历
本文适用于使用hyper-v的windows机器利用蓝叠模拟器进行root 和 抓包的工作的参考,相应资源和链接都有原创 2022-08-02 11:44:50 · 5502 阅读 · 2 评论 -
Scrapy中engine._download方法调用downloader.fetch时候都发生了什么?scrapy启动流程图(5)
这里就简单说明一点,middleware如果直接返回scrapy的response对象时候,这里downloader大部分下载活动将不会被激活,这里讲的是大部分middle没有返回response对象时候,系统是如何调用downloader的方法进行下载的。...原创 2021-02-07 09:59:13 · 116 阅读 · 0 评论 -
scrapy启动流程图(4)——engine.py的内部运作图(2)
这里订正下上一篇的错误,由于本人疏忽,将request的 弹出处理部分代码遗漏的,下面的流程图中补充了这里真心不建议大家用这个模式去写代码,重复的部分很多,他这里这样写是因为reactor在处理错误时候没法很好的被上一层级别捕获,建议在自己的代码里避免这种写法到这里 engine的全部代码就解析完毕了 下一篇文章事scraper的解析 也不是很麻烦 后面还有downloader,scheduler比较简单建议大家自己看代码...原创 2021-02-04 11:23:20 · 156 阅读 · 0 评论 -
scrapy启动流程图(3)——engine.py的内部运作图(1)
这就是回调地狱!!! 同志们不要学!!!所有的异常和数据处理下载等都被绑在request相关的deferred对象里了本文解释了运行scrapy crawl xxspider命令后,scrapy内部是如何跑的,一步步拆解看从命令行解析到具体调用命令请看:第一篇 《scrapy启动流程图(超详细)——cmdline.py解析》从具体命令到创建crawlerprocess和实例化crawler 请看:第二篇《scrapy启动流程图(2)——crawler的启动流程图》下面的流程图详细.原创 2021-02-03 15:42:53 · 605 阅读 · 1 评论 -
scrapy启动流程图(2)——crawler的启动流程图
这里简单说说明下,当我们使用 scrapy crawl xxspider 时候 发生了如下事情:1. 由setup.py 定义的程序入口 cmdline.py 的 execute() 函数被系统 terminal调用 os.argv里面是这样的数据["cmdline.py","crawl","xxspider"]2.由cmdline.execute 通过一系列解析动作 调用到 Command/crawl.py 并执行run命令 (请看我上一篇 scrapy启动流程图 的文章)3. 有cr...原创 2021-02-02 16:26:23 · 589 阅读 · 0 评论 -
Scrapy Spider源码解读 及继承关系图 方便记忆检索
目前已经将很多 scrapy翻译和解释写到了scrapy的代码里,有兴趣的同学可以去github里看具体的解释scrapy翻译github希望有兴趣的小伙伴也可以一起解释scrapy的代码学了会用100个库不如彻底弄明白一个库你说呢?...原创 2021-01-28 15:52:52 · 175 阅读 · 0 评论 -
scrapy启动流程图(超详细)——cmdline.py解析
图片非常大,请耐心等一下。图片详细介绍了 在使用 "scrapy crawl xxx" 启动命令背后的工作。cmdline.py excute的这里可以看做整个scrapy项目的起点,整体操作围绕着两个部分,一个是setting的配置一个是crawler/crawprocess大部分的需要配置的东西都在setting中传递。带注释的代码:import sysimport osimport optparseimport cProfileimport inspecti..原创 2021-01-19 15:08:14 · 1530 阅读 · 1 评论 -
Scrapy crawler.py 代码详细解析
这里先简单讲一下 scrapy 底层 twisted中的reactor ,他相当于asyncio中loop,deferred相当于 future,crawler 相当于实际执行爬取的类,并管理了自身的启停,接受控制信号和setting配置等。其中Crawler实例 相当于一个实例化的spiderCrawlerRunner 是对crawler的调度,其需要你自己的项目中使用twised框架才有必要了解操作这个类CrawlerProcess 相当于封装了twisted需要的reactor以后的.原创 2021-01-12 17:00:56 · 1514 阅读 · 3 评论 -
配置有密码保护的scrapyd服务端及客户端——爬虫的生产环境部署
本文针对scrapy爬虫在调试完成后,怎样部署到linux服务器,以及使用scrapyd-client上传的相关配置做简单总结1.概括:服务端 : nginx+htpasswd(配置访问端口及密码)>>> screen(窗口切换工具,用于将前台守护进程类软件变成后台守护型)+scrapyd(服务端执行scrapy爬虫的相关进程)客户端:安装scrapyd-client 配置 爬虫目录下的scrapy.cfg 文件,使用crontable 和curl 两个工具进行定时访问指定..原创 2020-12-29 15:15:43 · 869 阅读 · 0 评论