没有项目描述

scrapy-proxy-validation的Python项目详细描述


PyPI VersionBuild StatusWheel StatusCoverage report

概述

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。请耐心点,这不是 这种情况下的一次性解决方案中间件。

待办事项

不知道,如果有请告诉我!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jooq比较了两个日期,它不喜欢java。sql。日期   在Java中创建堆栈   响应太大时java Jolokia崩溃   java需要将依赖项复制到指定的文件夹   Maven或Tomcat重写我的Java类属性   Scala特性是否有Java接口公共静态字段的等价物?   JavaSpringMVC+ajax点击获取数据   java Hibernate:@OneToMany:从“多”端删除实体会导致EntityNotFoundException   java使用aptget在Xubuntu中安装OpenJDK7   java从使用注释的方法插入注释参数   java在wicket应用程序中使用什么方法注销?   java为什么Eclipse/GTK包不能在Ubuntu20上运行。04比WSL1高?   java使用集合基于时间对arrayList进行排序   java hibernate在非主键字段上自动生成序列   java中dowhile循环中无限嵌套forloops的问题   java使用Spring和JPA将一行数据同时添加到2个表中   java无法发回struts2 json插件中的数组   java程序在读取内存中的图像时崩溃。jar文件   java字符串作为不可变对象   安卓在Flatter(dart)项目中使用Java JAR库文件