关于在scrapy中使用xpath

1. 还是以虎嗅为例,他给我返回的是一个json格式的json串

  

2.那么我需要操作的就是把json串转换成我们的字典格式再进行操作

  

str=json.loads(response.body)['data']  #这边是拿到响应体数据,然后进行序列化成字典,拿到字典中key为data的的值.是一个字符串

 

3.自己导入选择器

from scrapy.selector import Selector

 

4.使用Selector的xpath方法获取内容

result = Selector(text=你从json提取出来的str).xpath('你的xpath表达式').extract()

 

5.使用效果

  我把上一篇虎嗅的在parse中修改了来示范一下

 #处理数据
    def parse(self, response):
        str=json.loads(response.body)['data']
        result = Selector(text=str).xpath('//div[@class="mod-b mod-art"]/div[3]/h2/a/text()').extract()
        print('result===',result)
        #这边处理比较难以理解,要多看看

 

5.文档

  当输入 response.selector 时, 您将获取到一个可以用于查询返回数据的selector(选择器), 
以及映射到 response.selector.xpath() 、 response.selector.css() 的
快捷方法(shortcut): response.xpath() 和 response.css() 。

  

posted @ 2019-03-28 21:08  阿布_alone  阅读(1240)  评论(0编辑  收藏  举报
TOP