首页 > 编程语言 > 详细

python 提取整个 HTML 节点

时间:2019-07-09 20:42:08      阅读:183      评论:0      收藏:0      [点我收藏+]

有的时候,需要把整个 HTML 节点原封不动地取下来,也就是包括节点标签、节点内容,甚至也包括内容中的空格、各种特殊符号等等。

假设已获取到页面源码,并将其保存在变量 src 中。则可有代码如下:


from html import unescape
from lxml import etree
from lxml import html


# 先加载页面源码,便于后续使用 XPath 解析
root = etree.HTML(src)

# 根据 XPath 路径提取节点
script = root.xpath('//script')[-1]

# 关键的一步:把整个节点转为字符串
raw_tab = html.tostring(script)

# 此时 print(raw_tab) 会遇到中文乱码(其实不是乱码,是另一种编码显示了)的情况,需要使用 unescape
json_str = json.loads(raw_tab)
print(unescape(json_str['$meta']['cityName']))

python 提取整个 HTML 节点

原文:https://www.cnblogs.com/wuzhiblog/p/python_get_raw_html_tab.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!