Почему Scrapy-Redis повторно сканирует URL-адрес, который уже был просканирован?Python

Программы на Python
Anonymous
Почему Scrapy-Redis повторно сканирует URL-адрес, который уже был просканирован?

Сообщение Anonymous »

Я написал распределенного паука с помощью Scrapy-Redis.
Поначалу все казалось хорошо.
Файл распределенных рабочих:

Код: Выделить всё

# distributed-workers.py
import scrapy
from scrapy_redis.spiders import RedisSpider
from vendor_scraper.items import ProductItem
from scrapy.loader import ItemLoader

class VendorSpider(RedisSpider):
name = 'distributed-workers'
allowed_domains = ['proxy.scrapeops.io']

redis_key = 'url_pools:start_urls'

redis_batch_size = 1  # Number of URLs to fetch from Redis at once
max_idle_time = 7  # Number of seconds the worker can be idle before stopping

# Export data format
custom_settings = {
'FEEDS': {
'distributed_scrape_data.json': {'format': 'json', 'overwrite': True},
},
}

# loop all pages and parse book information
def parse(self, response):
l = ItemLoader(item = ProductItem(), selector=response)

l.add_value('url_item', response.url)
l.add_css('source_page_html', 'html body h1')

yield l.load_item()

Код: Выделить всё

# settings.py
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderPriorityQueue'
Однако после сканирования всех URL-адресов один паук закрылся, а другой нет — и начал повторно сканировать уже просканированные URL-адреса.
Может ли кто-нибудь мне помочь и объяснить почему?

Подробнее здесь: https://stackoverflow.com/questions/785 ... dy-crawled

Вернуться в «Python»