如何在使用Scrapy Python抓取网站的所有页面后完成任务



我想在我的抓取器刮擦网站主页的所有锚点后执行一些任务。但是print语句是在处理所有页面的parse_details之前执行的。

如有任何帮助,我们将不胜感激。提前感谢


def parse_site(self,response):
next_links = response.css('a::attr(href)').getall()

for next_link in next_links:
yield response.follow(next_link,callback=self.parse_detail)
print("Task after complettion of all pages")

def parse_detail(self,response):

print("@@@@@@@@@@@@@@@@@GETTING HERE################")
all_content = response.xpath('//body').extract()
print("###############")
print(response.url)

您可以将方法closed添加到您的spider中,该方法将在spider完成后由scratch调用。但是,在该方法中不能再生成任何项。报废单据

def closed(self, reason):
# do something here.
pass

最新更新