维基百科纬度和经度使用 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
希望对您有所帮助! :)
我正在尝试从(随机)维基百科条目中获取纬度和经度。
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
希望对您有所帮助! :)