Scrapy Middleware用于根据计数器限制请求数量。
项目描述
Scrapy-count-filter
两个下载中间件,允许Scrapy爬虫在抓取一定数量的页面或项目后停止请求。在CloseSpider扩展中也有类似的功能,该扩展在抓取一定数量的页面、项目或错误后停止爬虫,但此中间件允许为每个域名定义计数器,并将它们作为爬虫参数而不是项目设置来定义。
安装
本项目需要Python 3.6+和pip。强烈推荐使用虚拟环境。
$ pip install scrapy-count-filter
用法
为了启用中间件,必须在项目的settings.py
中添加它们。
DOWNLOADER_MIDDLEWARES = {
# maybe other Downloader Middlewares ...
# it's suggested to have the Count Filters after all the default middlewares
'scrapy_count_filter.middleware.GlobalCountFilterMiddleware': 995,
'scrapy_count_filter.middleware.HostsCountFilterMiddleware': 996,
}
您可以使用一个、两个或两个中间件。
计数器限制必须在爬虫实例中定义,在spider.count_limits
字典中。
可能字段包括
page_count
和item_count
- 由GlobalCountFilterMiddleware使用,如果请求或抓取的项目数量大于提供的值,将停止爬虫page_host_count
和item_host_count
- 由 HostsCountFilterMiddleware 使用,如果单个主机上的请求数量或抓取项目数量超过提供的值,则会开始忽略请求
所有字段值必须是整数。
请注意,当任何计数器溢出时,爬虫会停止。
请求数量和抓取项目数量活跃的示例
from scrapy.spiders import Spider
class MySpider(Spider):
count_limits = {"page_count": 99, "item_count": 10}
许可证
BSD3 © Cristi Constantin.
项目详情
关闭
scrapy-count-filter-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 388bd4f78964f02f4f0557a3ee4f9df820a7e0c273f35183d537708fce494b30 |
|
MD5 | 497e9aa5092bff1bff28c1c615bd549d |
|
BLAKE2b-256 | 6ff9f9a99b97df82439bfdba35b065c4efdc81967effc9d5993b5aa215172203 |
关闭
scrapy_count_filter-0.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5da87c45770d538d307982968bd96803765b3b8e1dd713df7d65423752d659fd |
|
MD5 | ad52cd1483e3c723a81fb80c9fc40158 |
|
BLAKE2b-256 | ffa84360acb72a5558ab65b8f09c613c28b49c46d52f18a921b48f158669db86 |