通过检查 html 查找纬度和经度

Red*_*a S 0 python beautifulsoup web-scraping

有没有更简单的方法可以从此网址的html中查找坐标= https://www.sreality.cz/detail/prodej/byt/1+kk/praha-zizkov-krasova/151897164

我检查了该网站,但到目前为止似乎没有任何坐标。该网站正在使用mapy.cz

我尝试将地址转换为坐标,但坐标有时会关闭。

这是我尝试过的:

address = 'praha zizkov krasova'
url = 'https://nominatim.openstreetmap.org/search/' + urllib.parse.quote(address) +'?format=json'

response = requests.get(url).json()
print(response[0]["lat"])
print(response[0]["lon"])
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用网站的 API 查找纬度和经度值:

https://www.sreality.cz/api/en/v2/estates/{property_id}
Run Code Online (Sandbox Code Playgroud)

您可以在属性页的 url 上找到 property_id(url 末尾的长数字)。您发送的链接是 151897164。这是同一网站的另一个属性的示例:

import requests as r
property_id = 4257355596
postURL = f"https://www.sreality.cz/api/en/v2/estates/{property_id}"
results_post = r.get(postURL).json()
print("lat: ", results_post["map"]["lat"])
print("lon: ", results_post["map"]["lon"])
Run Code Online (Sandbox Code Playgroud)

我还可以建议使用Scrapy作为替代框架来爬行这些东西,并在像estela这样的蜘蛛管理解决方案上运行这个爬虫。