繁体   English   中英

使用python从网站获取非HTML数据

[英]Grabbing non-HTML data from a website using python

我正在尝试将此页面上的当前合同价格转换为字符串: 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吗?

非常感谢您提供的任何帮助。 理想情况下,它是一个易于安装的模块和一些实际代码,但是非常欢迎所有提示。

看来表格中的数字是用Javascript填充的,因此仅使用urllib或其他库来获取HTML是不够的,因为它们没有运行javascript。 您需要使用类似PyQt的库来模拟浏览器呈现页面/执行JS来填充数字,然后抓取该HTML的输出HTML。

请参阅有关使用PyQt的博客文章: http : //blog.motane.lu/2009/07/07/downloading-a-pages-content-with-python-and-webkit/ 链接文本

如果您使用firebug之类的东西查看该网站,则可以看到它正在制作的AJAX调用。 例如,初始值通过AJAX调用(至少对我来说)来填充:

http://www.cmegroup.com/CmeWS/md/MDServer/V1/Venue/G/Exchange/XCME/FOI/FUT/Product/ES?currentTime=1292780678142&contractCDs=,ESH1,ESM1,ESU1,ESZ1,ESH2,ESH1 ,ESM1,ESU1,ESZ1,ESH2

这将返回JSON响应,然后javascript将其解析为表格。 自己使用urllib进行操作,然后使用simplejson解析响应,将非常简单。

另外,您应该非常仔细地阅读此免责声明 您想要做的事情可能与网站所有者不一样。

很难知道要告诉您什么,而根本不知道数字是从哪里来的。 它也可以是php或asp,因此您必须弄清楚数字所用的语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM