如何通过python从源页面中提取由javascript创建的隐藏标签

时间:2014-09-29 13:49:17

标签: javascript python html selenium xpath

我有THIST页面,里面有一些javascript。您可以点击show details查看它们。

那么如何从该网址源中提取这些数据?

使用re?我试过的是:

import urllib
import re
gdoc = urllib.urlopen('ThatURL').read()
scriptlis = re.findall('(?si)<script>(.*?)</script>', gdoc)
print scriptlis

但没有回应......

使用硒? 在这种情况下如何?

import lxml
out=lxml.html.tostring(lxml.html.parse('ThatURL'))
.
.
.
?

2 个答案:

答案 0 :(得分:2)

当页面使用脚本来生成内容时,很难刮掉。您需要一个能够在文档上执行脚本的完整虚拟环境,而不是简单的html读取。

对于python,有ghost.py。它非常灵活,允许您检查完全呈现的网站,以及执行您自己的JavaScript以与页面进行交互。

ghost.pyphantom.js的一个python克隆,一个node库。在我看来,这第二个工具是优越的,但它不是为python编写的。

答案 1 :(得分:0)

你可以试试这个

re.findall('<script.*>.*</script>',url_file)