电影中心 精品软件 联系我们

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 975|回复: 0

python爬虫解析之XPath

[复制链接]

该用户从未签到

发表于 2020-5-14 17:40:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

+ Q* O( s4 @! v2 h" j
       ​数据采集的最终的目的就是过滤选取网络信息,因此最重要的部分就是解析了,数据解析的优劣决定了网络爬虫的速度和效率,对于 HTML 类型的页面来说,常用的解析方法其实无非那么几种,正则、XPath、CSS Selector,另外对于某些接口,常见的可能就是 JSON、XML 类型,使用对应的库进行处理即可。这里重点讲述的是XPath。
       XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。所以在做爬虫时完全可以使用 XPath 做相应的信息抽取。
数据解析之前需要先将html代码转换成相应的对象,方法如下
In [7]: from lxml import etree
In [8]: text = etree.HTML(html)
示例1
1589444788080-8fecf211-7e02-4753-ad21-4c0c6d40284a.png
接下来我们来用不同的解析方法分析示例的HTML代码
In [16]: text.xpath('//title/text()')[0]
Out[16]: "The Dormouse's story"
个人觉得lxml在解析HTML时还是很简洁好用的。而且lxml是使用XPath这种文本语法而非函数API,写起来更轻量化,只要会XPath语法就可以轻松解析HTML。这就好比在处理复杂的文本时,使用正则表达式比使用字符串类的函数API更好用、更强大。
​​

  N* i: j0 z: R+ S3 ^
- ^, O) u9 L: F. B0 b0 u

/ v% }% R2 o. q3 [- c' g9 y) g$ D! V; d9 i
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|帮助|古城IT技术联盟 ( 鲁ICP备06030014号 )

GMT+8, 2025-6-2 03:40 , Processed in 0.062356 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表