如何在Urllib中使用XPath表达式

部署运行你感兴趣的模型镜像

XPath常用规则

nodename 	 选取此节点的所有子节点  
/             逐层提取
text()        提取标签下的文本内容
//标签名       提取所有此标签名的标签,如//title,提取所有title标签,包括title,若想剔除掉标签,要用text(),即//title/text()
//标签名[@属性=‘属性值’]     提取属性为XX的标签
.               选取当前节点 
 ..             选取当前节点的父节点
@属性名          代表取某个属性值 

在Urllib中使用XPath表达式

通过Python的lxml库,利用XPath进行HTML的解析
1.安装好lxml后
2.首先要导入lxml中的etree模块,使用etree模块中的HTML方法构造解析对象(其实就是转换为xpath可以识别的格式)
3.利用 解析对象.xpath 进行相应的匹配
代码示例:

from lxml import etree
import urllib.request
data = urllib.request.urlopen("https://home.firefoxchina.cn/").read().decode("utf-8","ignore")
treedata = etree.HTML(data)  #转换格式,构造解析对象
title = treedata.xpath("//title/text()")  #进行匹配,提取出来的内容不是列表
if(str(type(title)) == "<class 'list'>"):
    pass
else:
    title = [i for i in title]
print(title[0])

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值