gpt4 book ai didi

python - 使用lxml在python中解析html和js

转载 作者:太空宇宙 更新时间:2023-11-03 18:32:58 24 4
gpt4 key购买 nike

我在 Python 中使用 lxml 解析 JS 时遇到问题。当我执行下面的代码时,我的输出是:

“<0x10cec4e10处的元素div>”

from lxml.html.clean import Cleaner
cleaner = Cleaner()
cleaner.javascript = True

text = urllib2.urlopen("URL").read().decode("utf-8")
test = lxml.html.fromstring(cleaner.clean_html(text))
print test

我想要得到的是没有 js 内容的解析文本。有人可以透露一些信息吗?谢谢。

最佳答案

import lxml
import urllib2

URL = "http://www.google.com/"
ENCODING = "latin1"

args = {
"javascript": True, # strip javascript
"page_structure": False, # leave page structure alone
"style": True # remove CSS styling
}
cleaner = lxml.html.clean.Cleaner(**args)

# get the page source
html = urllib2.urlopen(URL).read().decode(ENCODING)
# clean it up
clean = cleaner.clean_html(html)

# print unformatted html dump
print(clean)

# print properly indented html
tree = lxml.html.fromstring(clean)
print(lxml.etree.tostring(tree, pretty_print=True))

请注意, pretty-print 可以在 lxml.etree.tostring() 中正常工作,但在 lxml.html.tostring() 中效果不佳,它会换行但不会缩进 - 看看吧。

关于python - 使用lxml在python中解析html和js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22109405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com