利用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')
#解析对象调用xpath
r_list = parse_html.xpath('xpath表达式')
#只要调用xpath,返回的结果一定为列表
- 举个例子
针对下面HTML文档,我们利用Xpath获取所有li节点对象、所有name节点的class属性值、所有food节点里的文本内容:
<ol><li class="Ra01"><name class = 'Bunny01'>小黄</name><age>8</age><food>胡萝卜</food></li><li class="Ra01"><name class = 'Bunny02'>大白</name><age>9</age><food>白菜</food></li><li class="Ra02"><name class = 'Bunny03'>奥尼尔</name><age>20</age><food>提草</food></li><li class="Ra03"><name class = 'Bunny03'>王子</name><age>30</age><food>进口提草</food></li></ol>
代码:
# -*- coding: utf-8 -*-from lxml import etreehtml = \
"""<ol><li class="Ra01"><name class = 'Bunny01'>小黄</name><age>8</age><food>胡萝卜</food></li><li class="Ra01"><name class = 'Bunny02'>大白</name><age>9</age><food>白菜</food></li><li class="Ra02"><name class = 'Bunny03'>奥尼尔</name><age>20</age><food>提草</food></li><li class="Ra03"><name class = 'Bunny03'>王子</name><age>30</age><food>进口提草</food></li></ol>
"""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)
控制台输出结果:
[<Element li at 0xad2d7371c8>, <Element li at 0xad2d737448>, <Element li at 0xad2d737288>, <Element li at 0xad2d737488>]
--------------------
['Bunny01', 'Bunny02', 'Bunny03', 'Bunny03']
--------------------
['胡萝卜', '白菜', '提草', '进口提草']
利用python爬虫(part5)--lxml模块相关推荐
- 利用python爬虫(part13)--requests模块之requests.get的参数们
学习笔记 requests.get()方法的参数们 查询参数params 语法 params = {'查询参数':'查询参数值'} res = requests.get(base_url,params ...
- 利用python爬虫(part4)--requests模块之requests.get方法
学习笔记 文章目录 requests模块 requests常用方法 requests.get() requests模块 关于requests模块的安装 进入cmd,输入以下代码,即可安装: pip i ...
- Python数据提取-lxml模块
更多python教程请到友情连接: 菜鸟教程https://www.piaodoo.com 初中毕业读什么技校 http://cntkd.net 茂名一技http://www.enechn.com p ...
- 小游戏,利用Python爬虫之制作诗歌接龙
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:数据森麟 ( 想要学习Python?Python学习交 ...
- python爬虫系列--lxml(etree/parse/xpath)的使用
lxml:python 的HTML/XML的解析器 官网文档:https://lxml.de/ 使用前,需要安装安 lxml 包 功能: 1.解析HTML:使用 etree.HTML(text) 将字 ...
- python爬虫之bs4模块(超详细)
python爬虫之bs4模块(超详细) 一.bs4简介 二.使用方法 三.BeautifulSoup四大对象种类 (1)tag (2)NavigableString (3)BeautifulSoup ...
- 爬虫之 lxml模块的安装与使用示例
爬虫之 lxml模块的安装与使用示例 lxml模块是一个第三方模块,安装之后使用 1.1 lxml模块的安装 对发送请求获取的xml或html形式的响应内容进行提取 pip/pip3 install ...
- 爬虫之 lxml模块和xpath语法
爬虫之 lxml模块和xpath语法 对html或xml形式的文本提取特定的内容,就需要我们掌握lxml模块的使用和xpath语法. lxml模块可以利用XPath规则语法,来快速的定位HTML\XM ...
- 利用python爬虫与数据分析,打造最强玩法,轻松成为大神级玩家!
前言: 最近迷上了一款游戏,但是作为一名程序员的我是不可能只玩游戏的,我必须把它的官网数据采集下来! 环境: windows python3.6.5 模块: requests jsonpath pyg ...
最新文章
- 你会不会模拟超过 5 万用户的并发访问?
- C#中调用python方法
- 分库分表需要考虑的问题及方案
- VS报错:此项目需要缓解Spectre漏洞的库
- 通过HTTP协议实现多线程下载
- 多晶硅价格已处于阶段性高点
- 【各种信噪比联系与区别详解】实信号、复信号Es、N0、符号信噪比EsN0、带内信噪比、比特信噪比EbN0、SNR的含义及关系详解
- 电脑公司win11旗舰版32位镜像v2021.07
- delphi测试服务器响应时间,负载测试中的页面响应时间 - Visual Studio (Windows) | Microsoft Docs...
- B站升级HDR10真彩画质,开启4K+120帧+HDR创作新时代
- Python使用管道实现进程间数据传递
- PAT甲级1004 (DFS,树的父子节点)
- RDP Wrapper 大于10.0.19041
- layui form表单提php验证,layui表单验证介绍
- 显卡性能测试软件的是,显卡性能测试软件
- linux的XDG(X Desktop Group)基本目录规范
- 清远机器人编程_清远宇舵机器人告诉你为什么少年儿童要学习机器人编程?
- install package vif包_每天学点之CentOS软件源码包安装
- php博客视频教程,ThinkPHP5 博客项目实战视频教程
- 大三、大四期间去实习,要不要签三方协议?
热门文章
- OpenGL:画三角形程序详解笔记
- 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage
- xampp index.php报错,XAMPP配置出现403错误“Access forbidden!”的解决办法
- icd植入是大手术吗_白内障手术为何要植入人工晶体?便宜的人工晶体会影响视力吗?...
- python 使用文本注解绘制树节点_实用篇 | 34 个最火的 Python 开源框架
- 方法的反射---反射学习笔记(二)
- ES6-note-Set和Map(草稿)
- 2019.3.18 区块链论文翻译
- mysql 基本操作
- #11 硬连接与软链接与RAID与LVM2