2013-04-29 23 views
0

我想解析一个网页来收集数据以供科学使用。我需要解析的文本位于< span>内。解析HTML将无法实现这一目标,因为此文本不断变化,有时每秒更新10次。我知道一个事实(由于我读过一篇科学论文),这是可能的。通过Javascript解析实时更改文本

我需要收集以下数据的网页:http://realtime.springer.com/map 基本上,每次下载纸张时,标记都显示在地图上。我正在寻找数据 - 实时为每个标记挖掘城市/位置,当它们弹出时,您可以在左侧的地图下看到它。

问题:
1)如何解析这个实时更改的文本,因为它是由java脚本代码生成的?解析网页并不是一个对我来说是如此新的主题,但实时更改文本是。

2)因为在解析&写入数据时速度是个问题,哪种语言最适合我的项目?我计划写入SQL数据库,因为速度是一个非常重要的问题,所以请记住整个操作以及考虑每种语言时可以轻松完成的操作。我想如果有足够的记录库我可以使用python。

非常感谢您的任何建议。

+0

该页面使用ajax加载不断变化的数据。您可以调用相同的ajax入口点来加载相同的数据。我怀疑该公司不希望你这样做,并可能会在你注意到的时候切断你的IP地址。只要看一下页面源代码和JS。 – 2013-04-29 21:52:15

+0

不知道他们是否非常关心阻止我的IP。这本科学期刊的作者做了同样的事情,我试图做:http://www.sciencedirect.com/science/article/pii/S1751157712000545 – 2013-04-30 15:25:28

回答

0

看起来他们正在进行JSON调用以获取地图数据。假设你有他们的许可(有一个版权声明),你可以调用相同的URL直接获取原始数据,而不是从地图解析它。

$.getJSON('/ip2location/lookupMulti.php', { "rand": Math.random() }, function(data) { 
    for (var i=0; i<data.length; i++) { 
     var lat = data[i].lat; 
     var lng = data[i].lng; 
     var name = data[i].name; 
    } 
      // Etc... 

许多公司都有反对ping服务器的策略(无论是加载主页还是调用lookupMulti.php)。如果您没有权限,您很可能会发现您的IP很快被禁止。

+0

谢谢你的建议。负责此项目的研究员将与他们联系并获得许可。 – 2013-04-30 15:27:57