Как скрести тот же URL в цикле с помощью Scrapy - PullRequest
2 голосов
/ 23 июня 2011

Необходимый контент находится на той же странице со статическим URL.

Я создал паука, который очищает эту страницу и сохраняет элементы в CSV. Но он делает это только один раз, а затем завершает процесс сканирования. Но мне нужно повторять операцию постоянно. Как я могу это сделать?

Скрап 0,12

Python 2.5

Ответы [ 3 ]

5 голосов
/ 23 июня 2011

Ну, дать вам конкретный пример довольно сложно, потому что я не знаю, каким пауком вы пользуетесь и как он работает, но что-то подобное может сработать.

from scrapy.http import Request

class YourSpider(BaseSpider):
    # ...spider init details...
    def parse(self, response):
        # ...process item...
        yield item           
        yield Request(response.url, callback=self.parse)
3 голосов
/ 29 сентября 2016

Вам не хватает dont_filter = True.Ниже приведен пример.

import scrapy

class MySpider(BaseSpider):
    start_urls = ('http://www.test.com',)    

    def parse(self, response):
        ### Do you processing here
        yield scrapy.Request(response.url, callback=self.parse, dont_filter=True)
0 голосов
/ 17 ноября 2017

Я кодирую таким образом:

def start_requests(self):
    while True:
        yield scrapy.Request(url, callback=self.parse, dont_filter=True)

Я пробовал способ ниже, но есть проблема, что, когда Интернет нестабилен, он остановится и прервет цикл.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...