Я очищаю этот сайт asp.net, и так как URL-адрес запроса тот же, Scrapy dupefilter не работает.В результате я получаю тонны дублированных URL, которые заставляют моего паука бесконечно бегать.Как я могу справиться с этим?
Мой код выглядит следующим образом.
if '1' in page:
target = response.xpath("//a[@class = 'dtgNormalPage']").extract()[1:]
for i in target:
i = i.split("'")[1]
i = i.replace('$',':')
yield FormRequest.from_response(response,url, callback = self.pages, dont_filter = True,
formdata={'__EVENTTARGET': i,
})
Я пытался добавить набор для отслеживания номеров страниц, но понятия не имею, что делать с этим«...», что приводит к следующим 10 страницам.
if '1' in page:
target = response.xpath("//a[@class = 'dtgNormalPage']")
for i in target[1:]:
page = i.xpath("./text()").extract_first()
if page in self.pages_seen:
pass
else:
self.pages_seen.add(page)
i = i.xpath("./@href").extract_first()
i = i.split("'")[1]
i = i.replace('$',':')
yield FormRequest.from_response(response,url, callback = self.pages, dont_filter = True,
formdata={'__EVENTTARGET': i,
})
self.pages_seen.remove('[ ... ]')
Чем больше я задаю потоков, тем больше дубликатов я получаю.Таким образом, похоже, что пока единственное решение - уменьшить thread_count до 3 или меньше.