python 使用反向地理编码获取Magicbricks.com上的属性地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用反向地理编码获取Magicbricks.com上的属性地址相关的知识,希望对你有一定的参考价值。
"""
Project: Apartment Hunt
Get Address of properties on Magicbricks.com using Reverse-Geocoding
This script asks for the target property URL, reverse geocodes it
and prints the address of the property
Need: Magicbricks map functionality doesn't let users get directions.
Even the exact property address is not visible on the webpage.
"""
import re
import requests
from bs4 import BeautifulSoup
from geopy.geocoders import GoogleV3
# URL = ("http://www.magicbricks.com/propertyDetails/Paying-Guest-FOR-Rent-Saket-in-New-Delhi" +
# "&id=4d423139323339393233?from=search")
URL = raw_input("Enter Magicbricks Property URL: ")
def make_request(link):
r = requests.get(link)
soup = BeautifulSoup(r.text)
return soup
def get_coords(soup):
see_on_map_span = soup.find("span", {"class": "seeProOnMap"})
temp_coords_list = see_on_map_span.a['onclick'].split('=')
lat = temp_coords_list[2].split('&')[0]
lng = temp_coords_list[3].split('&')[0]
return lat, lng
def reverse_geocode(lat, lng):
geolocator = GoogleV3()
coords = ', '.join([lat, lng])
location = geolocator.reverse(coords)
return location
def main():
soup = make_request(URL)
lat, lng = get_coords(soup)
location = reverse_geocode(lat, lng)
print "\nAddress = ", location[0].address + "\n"
if __name__ == "__main__":
main()
以上是关于python 使用反向地理编码获取Magicbricks.com上的属性地址的主要内容,如果未能解决你的问题,请参考以下文章
在 iPhone 上进行反向地理编码 - 获取准确的街道号码
使用 iPhone 的纬度和经度进行反向地理编码
使用谷歌地图地理编码器反向获取城市名称的简单功能
反向地理位置:邮政编码问题
从反向地理编码中获取地址
如何在 iOS 中使用反向谷歌地理编码?