【Python】【新手求救】scrapy:根据xpath爬取爬虫获取的结果为空
python新手最近在学习scrapy爬取网站,就先找一个网站爬取一些东西
爬取网站为:http://www.acfun.tv/a/ac2643312
我想爬取的内容为评论,就爬取评论作者reviewer 和 评论内容content
可是我print sites的内容发现为空 []
sites = sel.xpath('//div[@id="area-comment-inner"]/div/div')
出现错误 DEBUG: Crawled (200) <GET http://www.acfun.tv/a/ac2643312> (referer: None)
我想请教下各位 xpath 格式是否正确,该怎么样改,谢谢!
还有请求各位给我一些关于学习Python爬虫在方向和方法上一点指引!谢谢各位!
class AcfunSpider(Spider):name = "acfun"
allowed_domains = ["acfun.tv"]
start_urls = [
"http://www.acfun.tv/a/ac2643312"
]
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div[@id="area-comment-inner"]/div/div')
print sites
items = []
for site in sites:
item = W3SchoolItem()
reviewer= site.xpath('div[2]/text()').extract()
content= site.xpath('div[1]/a/text()').extract()
item['reviewer'] = [r.encode('utf-8') for r in reviewer]
item['content'] = [c.encode('utf-8') for c in content]
items.append(item)
log.msg("Appending item...",level='INFO')
log.msg("Append done.",level='INFO')
return items
通过Firefox的xpath checker检验抓取的内容发现xpath也没问题,是正确
的,但是为什么不对呢??
回答
有人回答吗?
出现错误 DEBUG: Crawled (200) <GET http://www.acfun.tv/a/ac2643312> (referer: None)
这不是错误,是调试信息。。。
评论里面的有些html不规则导致的,往它们的父类找吧,找到一个所有评论html都有的节点,然后用正则匹配取出来吧,18条数据中第一条没有就是那个text()匹配不到,别急着text()就取数据了
以上是 【Python】【新手求救】scrapy:根据xpath爬取爬虫获取的结果为空 的全部内容, 来源链接: utcz.com/a/80015.html