python用xpath方法爬取伯乐在线

1.xpath的用法

 

2.提取信息

(1)在命令行中可以测试

response.xpath("//p[@class='entry-meta-hide-on-mobile']/text()").extract()[0].strip().replace("·","")

(2)在pycharm中运行

import scrapy
import re

class JobboleSpider(scrapy.Spider):
name = 'jobbole'
allowed_domains = ['blog.jobbole.com']
start_urls = ['http://blog.jobbole.com/113728/']

def parse(self, response):
title1=response.xpath("//*[@id='post-113728']/div[1]/h1/text()").extract()[0]
title=response.xpath("//div[@class='entry-header']/h1/text()").extract()[0]
creat_time=response.xpath("//p[@class='entry-meta-hide-on-mobile']/text()").extract()[0].strip().replace("·","")
praise_num=response.xpath("//span[contains(@class,'vote-post-up')]/h10/text()").extract()[0]

fav_nums= response.xpath("//span[contains(@class,' bookmark-btn')]/text()").extract()[0]
match_re=re.match(".*(\d+).*",fav_nums)
if match_re:
fav_nums=match_re.group(1)

comment_nums=response.xpath("//a[@href='#article-comment']/span").extract()[0]
match_re=re.match(".*(\d+).*",comment_nums)
if match_re:
comment_nums=match_re.group(1)
cotent=response.xpath("//div[@class='entry']").extract()[0]

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)
pass

 

posted @ 2018-03-16 16:21  星辰_L  阅读(370)  评论(0编辑  收藏  举报