python爬取全国2000多个城市的经纬度及geohash编码
admin
2023-07-04 07:45:03
0

如何爬取全国两千多个城市的经纬度?其实找对了数据源就一点也不难。
哪些网站可能会有全国所有城市的经纬度呢?高德地图?百度地图?统计局?淘宝?……
这次我们来试试通过饿了么爬取:

import requests,csv,Geohash

url='https://www.ele.me/restapi/shopping/v1/cities'
headers={
    'referer': 'https://www.ele.me/home/',
    'user-agent': 'user-agent'
        #user-agent大家改成自己的哈
}

res=requests.get(url,headers=headers)
res_dic=res.json()
# print(type(jsonres))

#爬一个城市试验一下行不行,不要一上来就搞个大的
name=res_dic['A'][0]['name']
print(name)

#没问题,那就开始吧
csv_file=open('城市经纬度.csv','w+',newline='',encoding='utf-8')
writer=csv.writer(csv_file)
list_head=['城市','纬度','经度','geohash编码']
writer.writerow(list_head)
m=0
list_cities=[]
list_range=['A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','W','X','Y','Z']
for alp in list_range:
    for m in range(220):
        try:
            name=res_dic[alp][m]['name']
            latitude=res_dic[alp][m]['latitude']
            longitude=res_dic[alp][m]['longitude']
            geohash=Geohash.encode(latitude,longitude)
            list_cities.append([name,latitude,longitude,geohash])
            m=m+1
        except IndexError:
            pass

for row in list_cities:
    writer.writerow(row)

csv_file.close()

有些同学可能安装了geohash,但是python3.7调不出来。
别着急,修改一下定义文件试试:

rename the package name to be geohash rather than Geohash and then change init.py to import from .geohash (with a dot in front of the module name) rather than from geohash, the package should work for Python 3.5.2.

按照这个方法修改文件名称和 init.py 中的内容后,成功!

拿到全国所有城市的经纬度以后,我们能做的还有很多,下期介绍~

相关内容

热门资讯

玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...
谁在对台湾“温水煮青蛙”? 近一段时间以来,两岸的舆论场都非常热闹,但话题却不尽相同。先看看岛内,马英九基金会的“家变”愈演愈烈...
上海磁骋取得超级电容主动均衡电... 国家知识产权局信息显示,上海磁骋交通科技有限公司取得一项名为“一种超级电容主动均衡电路”的专利,授权...
超市运送猪肉时,一只狗跑来啃食... 5月31日,湖北孝昌的网友发布视频称,一家超市在运送猪肉时,肉从车上搬下来后,一只黑色的狗跑来啃食猪...
日本要搞两个首都? 日本媒体日前报道,日本维新会正在推进将大阪设为“副首都”的构想,定于6月中旬组建一个专门小组。对此,...