如何在使用 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
我想在 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