Я пишу паук Scrapy, цель которого - отправлять запросы на удаленный сервер, чтобы увлажнить кеш. Это бесконечный сканер, потому что мне нужно делать запросы через регулярные промежутки времени. Я создал первоначальный паук, который генерирует запрос и попал на сервер, он работал нормально, но теперь, когда я выполняю его бесконечно, я не получаю ответы. Я даже пытался отлаживать в промежуточном программном обеспечении process_response
, но пока не смог достать паука. Вот набросок кода, который я реализую
def generate_requests(self, payloads):
for payload in payloads:
if payload:
print(f'making request with payload {payload}')
yield Request(url=Config.HOTEL_CACHE_AVAILABILITIES_URL, method='POST', headers=Config.HEADERS,
callback=self.parse, body=json.dumps(payload), dont_filter=True, priority=1)
def start_requests(self):
crawler_config = CrawlerConfig()
while True:
if not self.city_scheduler:
for location in crawler_config.locations:
city_name = location.city_name
ttl = crawler_config.get_city_ttl(city_name)
payloads = crawler_config.payloads.generate_payloads(location)
self.city_scheduler[location.city_name] = (datetime.now() + timedelta(minutes=ttl)).strftime("%Y-%m-%dT%H:%M:%S")
yield from self.generate_requests(payloads)