爬虫之lxml模块中etree.tostring函数的使用
运行下边的代码,观察对比html的原字符串和打印输出的结果
from lxml import etree
html_str = '''
- first item
- second item
- third item
- fourth item
- fifth item
'''
html = etree.HTML(html_str)
print(html)
handeled_html_str = etree.tostring(html).decode()
# handeled_html_str = etree.tostring(html)
print(handeled_html_str)
运行效果:
打印结果和原来相比:
- 自动补全原本缺失的
li
标签 - 自动补全
html
等标签
- first item
- second item
- third item
- fourth item
- fifth item
结论:
-
lxml.etree.HTML(html_str)可以自动补全标签
-
lxml.etree.tostring
函数可以将转换为Element对象再转换回html字符串 - 爬虫如果使用lxml来提取数据,应该以
lxml.etree.tostring
的返回结果作为提取数据的依据