为什么最后一个函数没有执行?

时间:2019-04-16 09:15:06

标签: python scrapy

我正在抓取Dmoz网站,并且抓取了about页面,但是当我使用名称add_filter('allow_empty_comment', '__return_true'); 创建另一个函数并尝试抓取时,它没有给我结果。

parse_editor

1 个答案:

答案 0 :(得分:0)

您将所有内容写在一个response.follow中,这是错误的。需要一对url回调。因此,请用两个独立的函数编写它们:

不正确的变体形式:

yield response.follow(self.about_page, self.parse_about, self.editor, self.parse_editor, meta={'items': items})

正确的变体:

yield response.follow(self.about_page, self.parse_about, meta={'items': items})
yield response.follow(self.editor, self.parse_editor, meta={'items': items})

您可以先在follow函数中编写parse;调用parse_about,然后生成第二个follow,并在parse_editor函数中产生最后一项。