维基百科纬度和经度使用 XML XPATHS(在 Python 中)

Wikipedia LATITUDE and LONGITUDE using XML XPATHS (in Python)

我正在尝试从(随机)维基百科条目中获取纬度和经度。

wiki_coordinates(website)
coordinates = website.xml.find('.//*[@id="coordinates"]/')

这里是HTML来自https://en.wikipedia.org/wiki/Seattle(经纬度)

HTML

有两个 "interesting" 部分
<span class="latitude">47°36′35″N</span> <span class="longitude">122°19′59″W</span>

<span class="geo-dec" title="...">47.60972°N 122.33306°W</span>

问题是每个维基百科条目都有不同的 xpath(或缺失)。

例如:

XPath =  ".//*[@id="coordinates"]/span/span/a/span[1]/span"
XPath = ".//*[@id="coordinates"]/span/a/span[3]/span[1]"

谢谢!

试试这个 xpath 表达式,看看它是否适用于这些页面:

//span[@id="coordinates"]//span[@class="geo-dec"]//text()

如果您希望直接(从维基百科的顶部)为纬度和经度编制索引,有两种方法可以做到这一点。

coordinates = website.xml.find('.//*[@class="geo-dec"]').text

latitude = website.xml.find('.//*[@class="latitude"]').text
longitude = website.xml.find('.//*[@class="longitude"]').text

希望对您有所帮助! :)