使用Xpath刮掉lat lons

时间:2015-01-22 08:58:09

标签: python xpath

我希望使用xpath来填写地址的lat / lons的开放地址。我有以下简单的代码返回[]。

from lxml import html

import requests

page = requests.get('http://alpha.openaddressesuk.org/streets/frm7qQ')
tree = html.fromstring(page.text)
datalatlon = tree.xpath('//span[@class="html-attribute-value"]/text()')    
print 'LatLon:  ', datalatlon

lat / lons出现在源视图中,但不出现在实际的Web页面中。这应该工作,所以我错过了什么?如果你检查元素,lat / lon被保存为html-attribute-value,但如果你直接复制xpath,你会得到一条不同的路径,如图所示

#datalatlon = tree.xpath('//span[@class="/html/body/table/tbody/tr[229]/td[2]/span[1]/span[2]"]/text()')

然而,两者都没有。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先:你为什么要试图开源项目?!
您可以download the data,并按照您的意愿处理。

如果您必须逐个查询结果,请使用json API,这需要更少的资源来处理。在你的情况下:

https://alpha.openaddressesuk.org/streets/frm7qQ.json