scrapy css &xpath 解析字段举例

1 篇文章 0 订阅
0 篇文章 0 订阅

举例: 访问http://lab.scrapyd.cn/

爬虫parse通过css解析字段;

 def parse(self, response):
       # 提取首页所有名言(两种写法)
       #mingyan = response.css('div.quote) 
       mingyan = response.css('div.quote.post') 
       for v in mingyan:  # 循环获取每一条名言里面的:名言内容、作者、标签
            # 提取名言(通过css,两种查找法)
            #text = v.css('.text::text').extract_first()  
            text = v.css('span.text::text').extract_first() 
             # 提取作者(三种写法)
            #autor = v.css('.author::text').extract_first()  
            #autor = v.css('span small::text').extract_first()
            autor = v.css('span:nth-child(2) > small::text').extract_first()
             #提取标签(二种查找法)
            # tags = v.css('.tags .tag::text').extract()
            tags = v.css('div a.tag::text').extract()
            tags = ','.join(tags) 

大家可以打印print(type(v.css(‘div a.tag::text’))):
发现类型是:<class ‘scrapy.selector.unified.SelectorList’>

上面的css 几种写法,没必要都记住,可以借助插件工具,很方便查找,在谷歌浏览器中,安装一下css selector插件,如截图:在左边框中选择要查找的项,然后右边框中选择css path. 可以参考上面提取作者项对比看
在这里插入图片描述
爬虫parse通过xpath解析字段;

def parse(self, response):
    mingyan = response.xpath('//div[@class="quote post"]')# 提取首页所有名言,保存至变量mingyan
    for v in mingyan:  # 循环获取每一条名言里面的:名言内容、作者、标签
           text = v.xpath('.//span[@class="text"]/text()').extract_first()# 提取名言
           autor = v.xpath('.//span/small[@class="author"]/text()').extract_first() # 提取作者
           tags = v.xpath('.//div[@class="tags"]/a/text()').extract() # 提取标签
           tags = ','.join(tags)  # 数组转换为字符串
           print('tags:%s'%tags) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值