【发布时间】:2012-05-13 12:07:36
【问题描述】:
我正在尝试在此网站的表格中获取数据,该数据在页面加载后通过 jquery 更新(我有权限):
我目前使用 selenium 和 beautifulsoup 来获取数据,但是因为这些数据在 html 源代码中不可见,所以我无法访问它。我已经尝试过 PyQt4,但它同样没有获得更新的 html 源代码。
这些值在 firebug 和 chrome 开发人员中是可见的,那么是否有任何 python 包可以利用它并将其提供给 beautifulsoup?
我不是一个庞大的技术人员,所以理想情况下,我想要一个可以在 Python 或下一个最简单的软件类型中运行的解决方案。
我知道我可以通过专有的“screen-scraper”软件获得它,但那很昂贵。
【问题讨论】:
-
我并不是说它是正确的工具,但我可以在发出
loadFinished之后通过QWebView获取更新的源代码。你用 PyQt4 做了什么尝试? -
感谢阿瓦里斯。我在这里使用了代码:stackoverflow.com/questions/5356948/…。你说 QwebView 会得到更新的源吗?我要输入什么代码?
-
好吧,那段代码也为我提供了更新的源代码。
-
真的吗? OP 中的代码将sitescraper.net 替换为whichchart.com,给出了返回的html 中的值?嗯,我做错了什么?
-
我不确定。一种可能性是在
QtWebKit设置中禁用了Javascript。但是,如果您没有明确禁用它,则默认情况下它是启用的。除非您使用的是您自己构建的自定义 PyQt/Qt。
标签: python selenium pyqt4 beautifulsoup screen-scraping