我正在尝试将此页面上的当前合约价格变为字符串:http://www.cmegroup.com/trading/equity-index/us-index/e-mini-sandp500.html
我真的很喜欢python 2.6解决方案。
使用urllib很容易获得页面html,但似乎这个数字是实时的,而不是在html中。我检查了Chrome中的元素,这是一些td类的东西。
但是我不知道如何使用python来实现这个目标。我尝试过beautifulsoup(但经过几次尝试后放弃了tar.gz才能在我的windows x64系统上工作),然后是elementtree,但我的编程兴趣确实是数据分析。我不是网站设计师,也不想成为一个网站设计师,所以它都是一种外语。这是实时价格XML吗?
感激地收到任何帮助。理想情况下,安装简单模块和一些实际代码,但所有提示和技巧都非常受欢迎。
答案 0 :(得分:2)
看起来表中的数字是由Javascript填充的,所以只使用urllib或其他库获取HTML是不够的,因为它们不运行javascript。您需要使用像PyQt这样的库来模拟浏览器呈现页面/执行JS来填充数字,然后刮掉它的输出HTML。
请参阅有关使用PyQt的博客文章:http://blog.motane.lu/2009/07/07/downloading-a-pages-content-with-python-and-webkit/ link text
答案 1 :(得分:2)
如果您使用类似firebug的内容查看该网站,您可以看到它正在制作的AJAX调用。例如,初始值是用AJAX调用(至少对我来说)填写的:
这将返回一个JSON响应,然后由javascript解析以填充表格。用urllib自己做这个很简单,然后使用simplejson来解析响应。
另外,您应该非常仔细地阅读此disclaimer。您尝试做的事情可能并不适合网站所有者。
答案 2 :(得分:0)
很难知道在不知道号码来自何处的情况下告诉你什么。它也可能是php或asp,所以你将不得不弄清楚这个数字是哪种语言。
答案 3 :(得分:0)
尝试使用真实的网络浏览器,例如: G。通过命令行控制iMacros for Firefox / Chrome