利用python爬虫(part5)--lxml模块

网友投稿 271 2022-08-31


利用python爬虫(part5)--lxml模块

学习笔记

lxml模块

关于lxml

lxml解析模块可以利用Xpath表达式来匹配HTML字符串的内容。

关于lxml解析库的安装

进入cmd,输入以下代码,即可安装:

pip install lxml

语法

from lxml import etree#创建解析对象parse_html = etree.HTML(html)#html = requests.get(url, headers = headers).content.decode('utf-8')#解析对象调用xpathr_list = parse_html.xpath('xpath表达式')#只要调用xpath,返回的结果一定为列表

举个例子

针对下面HTML文档,我们利用Xpath获取所有li节点对象、所有name节点的class属性值、所有food节点里的文本内容:

  1. 小黄 8 胡萝卜
  2. 大白 9 白菜
  3. 奥尼尔 20 提草
  4. 王子 30 进口提草

代码:

# -*- coding: utf-8 -*-from lxml import etreehtml = \"""

  1. 小黄 8 胡萝卜
  2. 大白 9 白菜
  3. 奥尼尔 20 提草
  4. 王子 30 进口提草
"""parse_html = etree.HTML(html)#获取所有li节点对象li_list = parse_html.xpath('//ol/li')print(li_list)print('-'*20)#获取所有name节点的class属性值name_list = parse_html.xpath('//ol/li/name/@class')print(name_list)print('-'*20)#获取所有food节点里的文本内容food_list = parse_html.xpath('//ol/li/food/text()')print(food_list)

控制台输出结果:

[, , , ]--------------------['Bunny01', 'Bunny02', 'Bunny03', 'Bunny03']--------------------['胡萝卜', '白菜', '提草', '进口提草']


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot整合minio实现文件上传与下载且支持链接永久访问
下一篇:python观察日志(part7)--可变长参数元祖(Python可变长参数)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~