找到带有Nokogiri的谷歌地图线

时间:2011-07-18 20:44:17

标签: nokogiri

使用nokogiri我需要搜索一些HTML,例如:

new GLatLng(-14.468352,132.270434)

然后将该代码中的纬度和经度值分配给两个变量。

1 个答案:

答案 0 :(得分:0)

您没有向我们展示任何HTML示例。如果您只是搜索纯文本,Nokogiri似乎是这项工作的错误工具。你可以这样做:

require 'open-uri'
html = open('http://stackoverflow.com/questions/6739202/find-google-map-line-w-nokogiri').read
match = /new GLatLng\((?<lat>.+?),(?<long>.+?)\)/.match html
p match[:lat].to_f
#=> -14.468352

或者,如果您需要所有此类匹配的数组,请说该页面上还有new GLatLng(17.3,42.1)

matches = html.scan /new GLatLng\((.+?),(.+?)\)/
p matches
#=> [["-14.468352", "132.270434"],["17.3", "42.1"]]

您可能想要使用Nokogiri的唯一原因是限制您搜索特定的HTML元素(例如某些<script>块)。