7.xpath表达式

XPath与正则表达式对比:

  1. xpath表达式效率会高一点
  2. 正则表达式功能会强大一点
  3. 优先使用xpath表达式,xpath解决不了用正则表达式

  1. / 逐层提取
    • /html/head/title 这样就提取到title的标签
  2. text() 提取标签下面的文本
    • /html/head/title/text()
  3. //标签名 表示提取名为“标签名”所有的标签
    • //div
  4. //div [@属性=’属性值’] [ ]表示约束
    • @属性名 代表某个属性.
    • //div[@class=’tools’]

//ul[@class=”xxx”]/li/a/text()
//a[@name=’itemlist-title’]/@title
//a[@name=’itemlist-review’]/text()

如何在URLLIB中应用xpath

from lxml import etree
data = urllib.request.urlopen('http://www.baidu.com').read().decode('utf-8','ignore')
treedata = etree.HTML(data)
title = treedata.xpath('//title/text()')
返回的是list

如果不是list
if (str(type(title))) == "<class 'list'>":
	pass
else:
	title = [ i for i in title ]
print(title[0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值