Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所以从这里我们可以知道下载中间件是介于Scrapy的request/response处理的钩子,用于修改Scrapy request和response。
编写自己的下载器中间件
编写下载器中间件,需要定义以下一个或者多个方法的python类
为了演示这里的中间件的使用方法,这里创建一个项目作为学习,这里的项目是关于爬去httpbin.org这个网站
scrapy startproject httpbintest
cd httpbintest
scrapy genspider example example.com
创建好后的目录结构如下:
这里我们先写一个简单的代理中间件来实现ip的伪装
创建好爬虫之后我们讲httpbin.py中的parse方法改成:
def parse(self, response): print(response.text)
然后通过命令行启动爬虫:scrapy crawl httpbin
在最下面我们可以看到”origin”: “114.250.88.66”
我们在查看自己的ip:
而我们要做就是通过代理中间件来实现ip的伪装,在middleares.py中写如下的中间件类:
Original: https://blog.csdn.net/weixin_28785757/article/details/113316808
Author: simpson bill
Title: scrapy检测到有异常请求从你的 ip 发出_python爬虫:Scrapy框架中Download Middleware中间件的用法…
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/789622/
转载文章受原作者版权保护。转载请注明原作者出处!