lxml python如何读取xml到本地_简单粗暴的使用lxml从网页HTML/XML中提取数据

06a2c31da496d1a94e3e847e35a72b17.png

Python 的 lxml 模块是一个非常好用且性能高的HTML、XML解析工具,通过它解析网页,爬虫就可以轻松的从网页中提取想要的数据。lxml是基于C语言的libxml2和libxslt库开发的,所以速度是相当的快。

使用lxml提取网页数据的流程

要从网页里面提取数据,使用lxml需要两步:

第一步,用lxml把网页(或xml)解析成一个DOM树。这个过程,我们可以选择etree、etree.HTML 和 lxml.html 这三种来实现,它们基本类似但又有些许差别,后面我们会详细讲到。

第二步,使用xpath遍历这棵DOM 树,找到你想要的数据所在的节点并提取。这一步要求我们对xpath规则比较熟练,xpath规则很多,但别怕,我来总结一些常用的套路。

生成DOM树

上面我们说了,可以有三种方法来把网页解析成DOM树,有选择困难症的同学要犯难了,选择那种好呢?别急,我们逐一探究一下。下面我通过实例来解析一下下面这段html代码:

item_1

item_2

item_3

使用etree.fromstring()函数

先看看这个函数的说明(docstring):In [3]: etree.fromstring?

Signature:      etree.fromstring(text, parser=None, *, base_url=None)

Call signature: etree.fromstring(*args, **kwargs)

Type:           cython_function_or_method

String form:    

Docstring:

fromstring(text, parser=None, base_url=None)

Parses an XML document or fragment from a string.  Returns the

root node (or the result returned by a parser target).

To override the default parser with a different parser you can pass it to

the ``parser`` keywo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值