我目前正在尝试抓一个网站。问题是信息被放置在iframe中的谷歌地图上。具体来说,纬度和经度。
我能够获得我目前需要的所有其他信息。搜索并使用import.io技术支持,我发现我需要使用特定的xPath和Regex来提取这些信息,但我在网站上找到的代码让我迷失了。理想情况下,我想分别拉出纬度和经度。这是我必须使用的代码。
我有什么选择?谢谢。
<div class="padding-listItem--sm">
<iframe width="100%" height="310" frameborder="0" allowfullscreen="" src="https://www.google.com/maps/embed/v1/place?q=33.3929503,-111.908652&key=AIzaSyDK08tC4NRubbIiw-xwDR1WEp-YAXX1Mx8" style="border:0"></iframe>
</div>
答案 0 :(得分:0)
1)获取src
元素的iframe
属性。
string srcText = driver.findElement(By.tagName("iframe")).getAttribute("src");
2)解析网址(在srcText
中找到)以获取纬度和经度值。
正则表达式找到两个数字:
/([-]?\d+\.\d+)/g
当网址符合您的指定时:
https://www.google.com/maps/embed/v1/place?q=33.3929503,-111.908652&key=AIzaSyDK08tC4NRubbIiw-xwDR1WEp-YAXX1Mx8"
答案 1 :(得分:0)
获取iframe
来源的 XPath 是:
//div[@class='padding-listItem--sm']/iframe/@src
然后你可以应用像这样的正则表达式来获得纬度和经度
/q=(-?[\d\.]*),(-?[\d\.]*)/g
在线实施Here