回 帖 发 新 帖 刷新版面

主题:python爬虫解析之XPath

数据采集的最终的目的就是过滤选取网络信息,因此最重要的部分就是解析了,数据解析的优劣决定了网络爬虫的速度和效率,对于 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

image.png

接下来我们来用不同的解析方法分析示例的HTML代码

In [16]: text.xpath('//title/text()')[0]

Out[16]: "The Dormouse's story"

个人觉得lxml在解析HTML时还是很简洁好用的。而且lxml是使用XPath这种文本语法而非函数API,写起来更轻量化,只要会XPath语法就可以轻松解析HTML。这就好比在处理复杂的文本时,使用正则表达式比使用字符串类的函数API更好用、更强大。



回复列表 (共1个回复)

沙发

[url=https://1680380.com/]168开奖网[/url]

[url=https://1680380.com/view/fcssq/index.html]福彩双色球[/url]

[url=https://1680380.com/view/xingyft/pk10kai.html]幸运飞艇[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册