Python使用scrapy抓取网站sitemap信息的方法
本文实例讲述了Python使用scrapy抓取网站sitemap信息的方法。分享给大家供大家参考。具体如下:
importre
fromscrapy.spiderimportBaseSpider
fromscrapyimportlog
fromscrapy.utils.responseimportbody_or_str
fromscrapy.httpimportRequest
fromscrapy.selectorimportHtmlXPathSelector
classSitemapSpider(BaseSpider):
name="SitemapSpider"
start_urls=["http://www.domain.com/sitemap.xml"]
defparse(self,response):
nodename='loc'
text=body_or_str(response)
r=re.compile(r"(<%s[\s>])(.*?)(</%s>)"%(nodename,nodename),re.DOTALL)
formatchinr.finditer(text):
url=match.group(2)
yieldRequest(url,callback=self.parse_page)
defparse_page(self,response):
hxs=HtmlXPathSelector(response)
#MockItem
blah=Item()
#Doallyourpageparsingandselectingtheelemtentsyouwant
blash.divText=hxs.select('//div/text()').extract()[0]
yieldblah
希望本文所述对大家的Python程序设计有所帮助。