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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 314|回复: 0

python爬虫解析之XPath

[复制链接]
发表于 2020-5-14 17:40:26 | 显示全部楼层 |阅读模式

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

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

×
+ y; h3 ^/ F* Z6 z  m9 n9 q
       ​数据采集的最终的目的就是过滤选取网络信息,因此最重要的部分就是解析了,数据解析的优劣决定了网络爬虫的速度和效率,对于 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更好用、更强大。
​​
0 l" b" @! E, h
% ^; [! }. R; Q5 S6 K' S
( N+ K8 s5 B+ K
) e2 ~# Q$ d: |4 Z. \
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-25 23:12 , Processed in 0.107696 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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