Python获取城市列表
一、方案介绍
- 基于python3开发环境,使用urllib.request库发起请求,将获得的结果保存为json文件。使用json库加载json文件后,使用jsonpath解析城市列表数据,最后将数据写入csv文件。
二、具体实现
- get_citys.py
import csv
import json
import jsonpath
import urllib.request as ur
url = 'https://dianying.taobao.com/cityAction.json?activityId&_ksTS=1662244862648_108&jsoncallback=jsonp109&action=cityAction&n_s=new&event_submit_doGetAllRegion=true'
headers = {
'referer': 'https://dianying.taobao.com/',
}
req = ur.Request(url=url, headers=headers)
resp = ur.urlopen(req)
content = resp.read().decode('utf-8')
content = content.split('(')[1].split(')')[0]
with open('taopiaopiao.json', 'w', encoding='utf-8') as f:
f.write(content)
obj = json.load(open('taopiaopiao.json', 'r', encoding='utf-8'))
cities = jsonpath.jsonpath(obj, '$..regionName')
with open('taopiaopiao.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
for city in cities:
city_csv = []
city_csv.append(city)
writer.writerow(city_csv)
- 运行结果
阿坝
阿克苏
阿拉善
阿勒泰
安康
安庆
鞍山
安顺
安阳
白城
百色
白沙
白山
白银
保定
宝鸡
保山
包头
巴彦淖尔
巴中
北海
北京
蚌埠
本溪
毕节
滨州
亳州
巴音郭楞
沧州
长春
常德
昌吉
昌江
长沙
长治
常州
朝阳
潮州
承德
成都
澄迈县
郴州
赤峰
池州
重庆
崇左
楚雄
滁州
大理
大连
儋州
丹东
大庆
大同
大兴安岭
达州
屯昌
德宏
德阳
德州
定安
定西
迪庆
东方
东莞
东营
鄂尔多斯
恩施
鄂州
防城港
佛山
抚顺
阜新
阜阳
抚州
福州
甘南
赣州
甘孜
巩义市
广安
广元
广州
贵港
桂林
贵阳
固原
哈尔滨
海北
海东
海口
海南州
海西
哈密
邯郸
杭州
汉中
鹤壁
河池
合肥
鹤岗
黑河
衡水
衡阳
和田
河源
菏泽
贺州
红河
淮安
淮北
怀化
淮南
黄冈
黄南
黄山
黄石
呼和浩特
惠州
葫芦岛
呼伦贝尔
湖州
佳木斯
吉安
江门
焦作
嘉兴
嘉峪关
揭阳
吉林
济南
金昌
晋城
景德镇
荆门
荆州
金华
济宁
晋中
锦州
九江
酒泉
鸡西
济源
开封
喀什
克拉玛依
克孜勒苏柯尔克孜
昆明
来宾
廊坊
兰州
拉萨
乐东
乐山
凉山
连云港
聊城
辽阳
辽源
丽江
临沧
临汾
临高
临夏
临沂
林芝
丽水
六安
六盘水
柳州
陇南
龙岩
娄底
陵水
吕梁
漯河
洛阳
泸州
马鞍山
茂名
眉山
梅州
绵阳
牡丹江
南昌
南充
南京
南宁
南平
南通
南阳
内江
宁波
宁德
怒江
盘锦
攀枝花
平顶山
平凉
萍乡
普洱
莆田
濮阳
黔东南
潜江
黔南
黔西南
青岛
庆阳
清远
秦皇岛
钦州
琼海
琼中
齐齐哈尔
七台河
泉州
曲靖
衢州
日喀则
日照
三门峡
三明
三亚
上海
商洛
商丘
上饶
山南
汕头
汕尾
韶关
绍兴
邵阳
神农架林区
沈阳
深圳
石河子
石家庄
十堰
石嘴山
双鸭山
朔州
四平
松原
绥化
遂宁
随州
宿迁
宿州
苏州
塔城
泰安
太原
台州
泰州
唐山
天津
天门
天水
铁岭
铜川
通化
通辽
铜陵
铜仁
万宁
潍坊
威海
渭南
文昌
文山
温州
乌海
武汉
芜湖
五家渠
乌兰察布
乌鲁木齐
武威
无锡
吴忠
梧州
厦门
西安
湘潭
湘西
襄阳
咸宁
仙桃
咸阳
孝感
锡林郭勒
兴安盟
邢台
兴义市
西宁
新乡
信阳
新余
忻州
西双版纳
宣城
许昌
徐州
雅安
延安
延边
盐城
阳江
洋浦
阳泉
扬州
烟台
宜宾
宜昌
伊春
宜春
伊犁
银川
营口
鹰潭
宜兴市
益阳
永州
岳阳
玉林
榆林
运城
云浮
玉树
玉溪
枣庄
张家界
张家口
张掖
漳州
湛江
肇庆
昭通
郑州
镇江
中山
中卫
周口
舟山
珠海
驻马店
株洲
淄博
自贡
资阳
遵义