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 для автономных (локальных) данных
  • Установка Scrapy на ubuntu 14.04 не работает
  • Установка scrapy на mac-pyasn1 не найдена
  • Scrapy Not Returning Additonal Info из скребковой ссылки в элементе через запрос обратного вызова
  • Как предотвратить URL-адрес Scrapy из URL-адреса URL-адреса
  • Сканирование динамического содержимого с помощью scrapy
  • авторизация авторизации с помощью cookie
  • Локально запустите всех пауков в Scrapy
  • Пустой список для hrefs для достижения разбивки на страницы с помощью функций JavaScript onclick
  • Экспорт csv-файла из scrapy (не через командную строку)
  • как обращаться с перенаправлением 302 в scrapy
  •  
    Interesting Posts for Van-Lav

    Как перечислить список в смежные группы ненулевых целых чисел в Python

    Как я могу выбрать элементы, меньшие, чем заданное целое, из отсортированного списка?

    Перспективное деформирование в OpenCV на основе ориентации на ночную камеру

    Как скомпилировать скрипты Python для использования в FORTRAN?

    Как скрыть * pyc-файлы в редакторе атомов

    Кортежи: + = оператор выдает исключение, но преуспевает?

    Django, ManyToManyField – ProgrammingError: отношение foo_bar не существует. Признается в миграциях, хотя отношение никогда не создается

    Создание файлов Midi на Python, которые являются полифоническими и различными инструментами

    Ошибка в Python Regex? (re.sub с re.MULTILINE)

    Как преобразовать это для цикла в понимание списка?

    MLP в тензорном потоке для регрессии … не сходится

    Лучший способ перетасовать два связанных списка

    Как сохранить IP-адрес в mySQL

    Python TypeError: неподдерживаемый тип операндов для ^: 'float' и 'int'

    Django: ValueError: текущий предел превышает максимальный предел

    Python - лучший язык программирования в мире.