如何在使用 Scrapy-Python 抓取网站所有页面后执行任务

How to do a task after scraping all the pages of website using Scrapy-Python

我想在 scraper scrapes 网站主页的所有锚点后执行一些任务。但是打印语句是在处理所有页面的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)

您可以将方法 close 添加到您的爬虫中,当您的爬虫完成后,scrapy 将调用该方法。但是,您不能在该方法中产生更多的项目。 Scrapy docs

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