爬虫之lxml模块中etree.tostring函数的使用
2023-09-11 14:15:15 时间
爬虫之lxml模块中etree.tostring函数的使用
运行下边的代码,观察对比html的原字符串和打印输出的结果
from lxml import etree
html_str = ''' <div> <ul>
<li class="item-1"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html">third item</a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</ul> </div>
'''
html = etree.HTML(html_str)
print(html)
handeled_html_str = etree.tostring(html).decode()
# handeled_html_str = etree.tostring(html)
print(handeled_html_str)
运行效果:
1.1 现象和结论
打印结果和原来相比:
- 自动补全原本缺失的
li
标签- 自动补全
html
等标签
<html><body><div> <ul>
<li class="item-1"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html">third item</a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</li></ul> </div> </body></html>
结论:
-
lxml.etree.HTML(html_str)可以自动补全标签
-
lxml.etree.tostring
函数可以将转换为Element对象再转换回html字符串 - 爬虫如果使用lxml来提取数据,应该以
lxml.etree.tostring
的返回结果作为提取数据的依据
相关文章
- scrapy爬虫框架setting模块解析
- 【爬虫】码了个毕业照爬虫
- 爬虫之数据提取jsonpath模块的使用场景和使用方法
- 爬虫之requests模块cookieJar对象转换为cookies字典的方法
- 51 爬虫 - Selenium 填充表单
- 42 爬虫 - JSON模块
- 41 爬虫 - BeautifulSoup4案例
- 25 爬虫 - re 正则 finditer 方法
- 08 爬虫 - urllib2 自定义Opener
- 一个人,一座城,你到底在乎什么?Python 爬虫告诉你
- Python爬虫基础
- 《精通Python网络爬虫:核心技术、框架与项目实战》——第二篇 Part 2核心技术篇 第3章 网络爬虫实现原理与实现技术 3.1 网络爬虫实现原理详解
- 《精通Python网络爬虫:核心技术、框架与项目实战》——3.3 网页更新策略
- Python爬虫技术--基础篇--常用第三方模块virtualenv
- Python爬虫技术--基础篇--内建模块hashlib和hmac
- Python爬虫技术--基础篇--内建模块base64
- Python爬虫技术--基础篇--内建模块datetime和collections
- Python Scrapy 自动爬虫注意细节(2)
- 天使轮获数百万投资,神箭手从爬虫切入构建大数据应用开发平台
- 手把手带你入门Python爬虫(三、PyMySQL)
- Python学习---爬虫学习[requests模块]180411
- 【爬虫与逆向】两个mitmproxy实例级联轻松调试抓包过程
- python爬虫学习(三):使用re库爬取"淘宝商品",并把结果写进txt文件
- 【Python】Python包问题处理,以及爬虫的一些参考
- Scrapy爬虫(六):多个爬虫组合实例