Python使用scrapy抓取网站sitemap信息的方法
本文实例讲述了Python使用scrapy抓取网站sitemap信息的方法。分享给大家供大家参考。具体如下:
import re
from scrapy.spider import BaseSpider
from scrapy import log
from scrapy.utils.response import body_or_str
from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
class SitemapSpider(BaseSpider):
name = "SitemapSpider"
start_urls = ["http://www.domain.com/sitemap.xml"]
def parse(self, response):
nodename = 'loc'
text = body_or_str(response)
r = re.compile(r"(<%s[\s>])(.*?)(</%s>)"%(nodename,nodename),re.DOTALL)
for match in r.finditer(text):
url = match.group(2)
yield Request(url, callback=self.parse_page)
def parse_page(self, response):
hxs = HtmlXPathSelector(response)
#Mock Item
blah = Item()
#Do all your page parsing and selecting the elemtents you want
blash.divText = hxs.select('//div/text()').extract()[0]
yield blah希望本文所述对大家的Python程序设计有所帮助。
相关推荐
有梦就能实现 2020-05-01
Amzaing00 2019-11-03
89327060 2019-10-06
xufwind 2019-09-06
清风落叶 2011-09-30
greatking 2011-02-14
codekong 2011-01-04
ibatsiSpring 2010-11-30
LoveJob 2010-06-25
ach 2010-02-26
zmosquito 2016-03-02
小白的黑科技 2016-11-13
enjoyhot 2016-04-10
qiuqiang 2016-02-16
chaojilaji 2016-01-13
chenlaoyang 2014-12-24
zhuzhu侠 2009-09-22
冬冬阳光 2011-02-24
MrAnroidBeginner 2013-06-30