Как пропустить повтор в скрапе питона - PullRequest
0 голосов
/ 05 марта 2019

Я новичок в Scrapy.Я написал этот скрипт:

class MySpider(scrapy.Spider):
        #identity
        name="mysite"

        #Request
        def start_requests(self):
            url= 'example.com/doc/file/vid'

            yield scrapy.Request(url=url, callback=self.parse)

        #Response
        def parse(self, response):
            loader = ItemLoader(item=VideoInfoItem(), response=response)

            for info in response.selector.xpath("//div[contains(@class, 'thumb-list__item')]"):
                loader= ItemLoader(item=InfoItem(), selector=info, response=response)
                loader.add_xpath('text', ".//div[@class='info']/a")
                loader.add_xpath('url', ".//div[@class='info']/a/@href")
                url = video.xpath(".//a[@class='image-container], callback=self.parse_video)

Когда я снова запускаю скрипт, я хочу пропустить дубликаты перед #Response.Я пробовал несколько вещей, но не получилось.

1 Ответ

0 голосов
/ 05 марта 2019

Чтобы продолжить сканирование с того места, где вы остановились в предыдущем запуске, необходимо убедиться, что вся необходимая информация сохраняется после выполнения.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * [100] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "* * *". "добавьте этот параметр через файл settings.py:

JOBDIR = 'crawls/somespider-1'

или запустив своего паука с помощью следующей команды:

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

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

...