避免错误的页面Scrapy

时间:2018-10-22 06:21:43

标签: python scrapy

我上周已经发布过,我的漫游器始终在321页被阻止。我更改了Scrapy设置,但发现321至末尾的页面似乎不包含任何项目。

我想知道如何跳过产生错误的页面。我尝试过:

    next_pages = response.xpath("//div[@class='pgLightPrevNext']/a/@href").extract() #essai pour accéder au contenu des pages suivantes
    for next in next_pages:
        absolute_url = self.base_url + next
        try:
            yield scrapy.Request(absolute_url, callback=self.parse_dir_contents)
        except:
            pass

但是没有结果。如何跳过这些页面?

谢谢。

2 个答案:

答案 0 :(得分:0)

如果一页收集的项目数为return,则可以0

答案 1 :(得分:0)

在下一个获取数据的函数中,检查response == 200。 如果响应不等于200,则可以在一定限制下使用重试变量使用另一个函数重试该URL。如果超出限制,请输入下一个产品网址。

try:
        if response.status == 404:
            self.append(self.bad_log_file, response.url)
            self.append(self.fourohfour, response.url)

        elif response.status == 200:
            self.append(self.ok_log_file, response.url)
        else:
            self.append(self.bad_log_file, response.url)

    except Exception, e:
        self.log('[eccezione] : %s' % e)
        pass