python scrapy как использовать BaseDupeFilter

У меня есть сайт, на котором есть такие страницы:

mywebsite/?page=1 mywebsite/?page=2 ... ... ... mywebsite/?page=n 

на каждой странице есть ссылки на игроков. когда вы нажимаете на любую ссылку, вы переходите на страницу этого игрока.

Пользователи могут добавлять игроков, поэтому я закончу с этой ситуацией.

Player1 есть ссылка на page=1 .

Player10 имеет ссылку на page=2

через час

потому что пользователи добавили новых игроков. у меня будет такая ситуация.

Player1 есть ссылка на page=3

Player10 есть ссылка на page=4

и новые игроки, такие как Player100 и Player101 имеют ссылки на page=1

Я хочу отказаться от всех игроков, чтобы получить их информацию. Однако я не хочу отказываться от игроков, которые у меня уже есть. Мой вопрос заключается в том, как пользователь BaseDupeFilter в scrapy, чтобы определить, что этот игрок был очищен, и это не так. Помните, я хочу замаскировать pages на сайте, потому что каждая страница будет иметь разных игроков в каждый момент.

Спасибо.

One Solution collect form web for “python scrapy как использовать BaseDupeFilter”

Я бы сделал еще один подход и постараюсь не запрашивать последнего игрока во время паука, но скорее запустил паука с предварительно рассчитанным аргументом последнего скребкового игрока:

 scrapy crawl <my spider> -a last_player=X 

то ваш паук может выглядеть так:

 class MySpider(BaseSpider): start_urls = ["http://....mywebsite/?page=1"] ... def parse(self, response): ... last_player_met = False player_links = sel.xpath(....) for player_link in player_links: player_id = player_link.split(....) if player_id < self.last_player: yield Request(url=player_link, callback=self.scrape_player) else: last_player_met = True if not last_player_met: # try to xpath for 'Next' in pagination # or use meta={} in request to loop over pages like # "http://....mywebsite/?page=" + page_number yield Request(url=..., callback=self.parse) 
  • python scrapy как закодировать параметр вместо использования cmd: использовать пользовательский код в Scrapy
  • регулярное выражение получает номер из строки
  • получение Запрещено robots.txt: scrapy
  • Как использовать селен вместе со скрипом для автоматизации процесса?
  • как извлечь список значений метки с помощью scrapy при отсутствии тега html
  • как я могу использовать wget для загрузки файлов с помощью scrapy
  • Как я могу использовать scrapy shell с параметрами на url
  • Scrapy CrawlSpider не сканирует первую целевую страницу
  • Python - лучший язык программирования в мире.