【python】XPath表达式

基于标签提取信息,效率相对会比正则RE快。因为HTML源码是由标签组成

常用语法:

标签[@属性 = '值']表示定位某一属性符合的标签

/从上往下查找标签

/html:从顶端查找html标签

/html/head:查找html标签下的head标签

test()提取标签的文本信息/html/head/title/text():提取html标签下head标签下title标签下的文本信息
@提取标签的属性信息

li[@class='hidden-xs']:定位class属性为 'hidden-ex' 的 li 标签

//查找所有符合条件的标签

//li[@class=’hidden-xs’]/a/@href:提取属性为hidden-ex的li标签,提取其中的a标签中的href属性

使用

  1. 调用response.xpath()可直接使用xpath表达式进行筛选,实战可看我的另一篇文章:ScrapyCrawl爬虫
  2. 先把读取下来的内容读取为etree对象,再调用xpath()筛选

etree:把网页源代码转为属性结构,每个标签作为树的结点

lxml:beautifulsoup的解析器,用于网页源码的解析

import urllib.request
from lxml import etree
data = urllib.request.urlopen("http://www.baidu.com").read()
html = etree.HTML(data)     # 把读取的网页源码加载到etree类,实例化etree对象
title = html.xpath('/html/head/title/text()')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值