Python爬虫系列之三:根据名称爬取经纬度信息并Geohash编码

时间:2025-04-17 16:02:22
# coding: utf-8 # ## 主要实现 # - 批量查询位置点 经纬度等信息 # - 经纬度转换为 geohash块 # ### Note # - 查询位置列表, 需<font color=#FF1953>提前提供</font> # In[5]: city_lis=['北京', '上海', '郑州'] # ### 获取位置地点经纬度等信息 # - 获取经纬度等信息 # - 计算 geohash # In[6]: import pandas as pd import mzgeohash import urllib2 import urllib import json # In[23]: ''' 根据位置名称,获取经纬度等信息 ''' def get_metas_from_baidu(city): metas={} metas['key']='f247cdb592eb43ebac6ccd27f796e2d2' metas['address']=city # 城市名称 data=(metas) url='/geocoder?output=json&'+(metas) # 注释 url='/geocoder?'+(metas)+'&output=json' unicode_s=(url) return (unicode_s.read()) city_meta_lis=[] # 计算 geohash 编码并存储 for city in city_lis: tmp=get_metas_from_baidu(city) latitude=tmp['result']['location']['lat'] longitude=tmp['result']['location']['lng'] t_geohash=((longitude,latitude)) # 使用mzgeohash 计算geohash city_meta_lis.append([city,latitude,longitude,t_geohash]) # 存储 # In[24]: # 格式化输出 df=(city_meta_lis, columns=['city','latitude','longitude','geohash']) df