xPath用法

来源:互联网 发布:c语言里的共用体怎么用 编辑:程序博客网 时间:2024/05/23 15:47


最近看视频学习,用xPath爬取网页上的内容信息,做了以下笔记。


效率高:

命令行:

scrapy shell http://blog.jobbole.com/112585/
获取标题
title = response.xpath('//div[@class="entry-header"]/h1/text()')>>> title.extract()['写代码容易,编程并不容易']>>> title.extract()[0]'写代码容易,编程并不容易'
获取时间
# 获取时间 response.xpath('//p[@class="entry-meta-hide-on-mobile"]/text()').extract()  response.xpath('//p[@class="entry-meta-hide-on-mobile"]/text()').extract()[0].strip()'2017/10/09 ·'# replace('.','').strip()
获取赞、评论

contains: class里面包含vote-post-up

response.xpath('//span[contains(@class,"vote-post-up")]')# 获取赞int(response.xpath('//span[contains(@class,"vote-post-up")]/h10/text()').extract()[0])

收藏:

>>> response.xpath('//span[contains(@class,"bookmark-btn")]/text()').extract()[0]' 1 收藏'# 只要1,用正则表达式# 获取收藏人数   ' 1 收藏'fav_num = response.xpath('//span[contains(@class,"bookmark-btn")]/text()').extract()[0]match_re = re.match(r'.*(\d+).*',  fav_num)    if match_re:        print(match_re.group(1))

获取标签:

tag_list = response.xpath('//p[@class="entry-meta-hide-on-mobile"]/a/text()').extract()# 对标签进行过滤tag_list = [element for element in tag_list if not element.strip().endswith("评论")] tags = ",".join(tag_list)
原创粉丝点击