没有项目描述
scrapy-proxy-validation的Python项目详细描述
概述
scrapy是一个很好的web爬行框架。这个包提供了 处理下载程序中发生的异常的自定义方法 中间件因为有代理,而用一个信号来记录亲属来处理 失效的代理(例如移动到黑名单,更新代理池)。
此软件包支持两种类型的信号:
- 传统信号,同步
- 延迟信号,异步
请参阅废弃和扭曲的文档:
要求
- 稀薄的
- python 3.5上的测试
- linux上的测试,但它是一个纯python模块,应该可以在任何其他模块上运行 带有官方python和twisted支持的平台
安装
快捷方式:
pip install -U scrapy-proxy-validation
或者把这个中间件放在scrapy项目旁边。
文档
在settings.py中的ITEMPIPELINES中设置此中间件,例如:
from scrapy_proxy_validation.downloadermiddlewares.proxy_validation import Validation DOWNLOADER_MIDDLEWARES.update({ 'scrapy_proxy_validation.downloadmiddlewares.proxy_validation.ProxyValidation': 751 }) SIGNALS = [Validation(exception='twisted.internet.error.ConnectionRefusedError', signal='scrapy.signals.spider_closed'), Validation(exception='twisted.internet.error.ConnectionLost', signal='scrapy.signals.spider_closed', signal_deferred='scrapy.signals.spider_closed', limit=5)] RECYCLE_REQUEST = 'scrapy_proxy_validation.utils.recycle_request.recycle_request'
设置参考
信号
类验证的列表,除了它要处理的异常 它发送的同步信号,它发送的异步信号和它所触及的极限。
回收请求
一个函数,用于回收与代理、输入有问题的请求 参数是request,输出也是request。
注意:记住将“don_filter”设置为“true”,或者将中间件 ``重复的“fitler”将删除此请求。
内置函数
scrapy_proxy_validation.utils.recycle_request.recycle_request
这是一个内置函数,用于回收有问题的请求 代理人。
此函数将删除meta中的proxy关键字并将dont_filter设置为 是True。
要使用此函数,请在settings.py:
RECYCLE_REQUEST = 'scrapy_proxy_validation.utils.recycle_request.recycle_request'
注
代理可能有许多不同的问题,因此需要一些 全部收集并添加到SIGNALS。请耐心点,这不是 这种情况下的一次性解决方案中间件。
待办事项
不知道,如果有请告诉我!