xpath使用chrome scraper从javascript google maps标记中抓取数据

时间:2015-02-22 01:47:21

标签: javascript xpath web-scraping google-maps-markers screen-scraping

我正在尝试学习如何抓取嵌入在javascript google地图标记内的数据。

这是我想要从中获取的代码类型的示例,而不是实际的预期代码。注意:让我再说一遍,这只是一个例子,而不是实际的预期页面。

我将代码放在粘贴框中,因为代码段非常庞大: http://pastebin.com/sVZq4B5j

从这段代码中,我想提取数据,如:

  

“centroid_id”: “23913”,

     

“纬度”: “35.899757906753”,

     

“经度”: “ - 79.046030044556”,

     

“location_name”:“UNC McColl Building”,

     

联系信息

     

James Britton

     

UNC McColl Building

     

可用性:通常可以使用周一,周二和周三下午。   如果您想请求时间,请给我发电子邮件。我不是   周末有售。

     

停车:下午4点后没有停车费。如果在白天,那里   是一个停车收费表,每个收费约1.50美元   小时。

     

费用:25.00美元

     

费用详情:2小时考试25美元,3小时考试35美元。费用是位置   和监督

     

基于计算机的考试:是

     

在线/基于互联网的考试:是

     

基于计算机的考试的安静环境:关闭且不变   基于计算机的考试监督:是的

     

纸质考试:是

     

纸质考试的安静环境:是的

     

对纸质考试进行密切和持续的监督:是

     

ADA access:是

执行此操作的XPath表达式是什么?我正在使用Scraper Chrome Extension。还有其他办法吗?

此外,任何人都可以解释/ t,/ n,\ t和\ n的字符串是什么?例如:

\n\t\t\t\n\t\t\t\n\t\t\t\n\n\t\t<\/td>\n\n\t<\/tr>\n\n\t\t\n\n\t\n\t<tr>\n\n\t\t\t

1 个答案:

答案 0 :(得分:0)

我认为你需要的不是XPath,而是一种解析代码并为你提供所需部件的方法。 一种方法可能是使用正则表达式,这在html上运行不好,另一种方法可能是使用HTML解析器。

无论如何,你需要一些编程技巧来使用其中的任何一种。例如,通过一些节点/ javascript技能,您可以使用this解析器来完成工作。

引用node-htmlparser的文档,这个html:

<a href="test.html">xxx</a>

变为:

[ { type: 'tag'
  , name: 'a'
  , attribs: { href: 'test.html' }
  , children: [ { data: 'xxx', type: 'text' } ]
  }
]

基本上,您可以阅读任何文本内容并将其转换为JavaScript变量。

关于你问题的最后部分: \ n是换行符 \ t转换为标签