我正在使用scrapy来提取网页标签中的信息,然后将这些网页保存为HTML文件.Eg http://www.austlii.edu.au/au/cases/cth/HCA/1945/这个网站有一些与司法案件相关的网页。我想去每个链接并保存只有与特定司法案例相关的内容作为HTML页面。例如,转到http://www.austlii.edu.au/au/cases/cth/HCA/1945/1.html,然后保存与案例相关的信息。
有没有办法在scrapy中递归执行此操作并在HTML页面中保存内容
答案 0 :(得分:1)
是的,您可以使用Scrapy执行此操作,Link Extractors会有所帮助:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
class AustliiSpider(CrawlSpider):
name = "austlii"
allowed_domains = ["austlii.edu.au"]
start_urls = ["http://www.austlii.edu.au/au/cases/cth/HCA/1945/"]
rules = (
Rule(SgmlLinkExtractor(allow=r"au/cases/cth/HCA/1945/\d+.html"), follow=True, callback='parse_item'),
)
def parse_item(self, response):
hxs = HtmlXPathSelector(response)
# do whatever with html content (response.body variable)
希望有所帮助。