我想从http://www.fxstreet.com/rates-charts/currency-rates/
等网站获取一些财务数据到目前为止,我正在使用liburl来获取源代码和一些正则表达式搜索来获取数据,然后我将其存储在一个文件中。
然而有一点问题: 在我在浏览器中看到的页面上,数据几乎每秒都会更新。当我打开源代码时,我要查找的数据每两分钟只会更改一次。 所以我的程序只能获得比可能的时间分辨率低得多的数据。
我有两个问题:
(i)两分钟内保持静态的源代码如何产生每秒更改一次的表?机制是什么?
(ii)如何获得具有第二时间分辨率的数据,即如何读出未在源代码中显示的更改表。
提前谢谢, 大卫答案 0 :(得分:1)
您可以使用FireBug中的网络面板检查页面打开时发出的HTTP请求(通常用于获取数据)。您引用的这个特定页面似乎是向http://ttpush.fxstreet.com/http_push/发送POST请求,然后接收并解析JSON响应。
答案 1 :(得分:1)
尝试向http://ttpush.fxstreet.com/http_push/connect发送POST请求,看看你得到了什么
它会不断加载新数据
编辑:
你可以使用liburl或python,这并不重要。在HTTP下,当您浏览Web时,您发送GET或POST请求。 转到网站,打开开发人员工具(Chrome)/ firebug(firefox插件),您将看到在加载所有数据后,有一个请求未关闭 - 它保持打开状态。
当您拥有一个网站并且想要连续获取数据时,您可以通过以下几种技术来实现:
您发布的网站使用第二种方法 - 当它检测到对该网页的POST请求时,它会保持连接打开并持续转储数据。 您需要做的是向该页面发出POST请求,您需要查看需要发送哪些参数(如果有)。只要您发送正确的参数,无论您如何提出请求都无关紧要。
您需要使用分隔符读取响应 - 可能每次要处理数据时,都会发送\ n或其他一些分隔符。
希望这会有所帮助。如果你发现你仍然无法解决这个让我知道,我将进入更多的技术细节