Python-数据解析-获取城市列表!

使用 JSONPath 将所有的城市名称提取出来,并保存在一个文件中。

{ “state”: 1, “message”: “success”, “content”: { “rows”: [], “data”: { “allCitySearchLabels”: { “A”: [ { “id”: 601, “name”: “鞍山”, “parentId”: 535, “code”: “081600000”, “isSelected”: false }, { “id”: 105795, “name”: “澳门特别行政区”, “parentId”: 562, “code”: “330100000”, “isSelected”: false } ] } } }}

① 访问 URL

创建一个文件,取名为 jsonLagou.py。然后,引用 urllib.request 模块,访问拉勾网的 URL,获取网页内容。

jsonLagou.pyimport urllib.requestimport jsonpathimport json

url = “http://www.lagou.com/lbs/getAllCitySearchLabels.json“headers = {“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36”}
request = urllib.request.Request(url, headers=headers)response = urllib.request.urlopen(request)html = response.read()print(html)
此时获得的 html 内容就是一个 JSON 格式的字符串。

② 读取城市名称列表

将字符串格式的 JSON 转换为 Python 对象,并使用 JSONPath 获取所有 name 节点的值,形成列表。

把 JSON 格式字符串转换成 Python 对象jsonobj = json.loads(html)# 从根节点开始,匹配 name 节点city_list = jsonpath.jsonpath(jsonobj, “$..name”)print(city_list)

此时 city_list 变量中存储的就是所有的城市列表。

③ 将城市列表保存到本地

使用 json.dumps() 方法将列表转化为 JSON 格式的字符串,再将字符串写入本地文件。

打开或创建一个名为 city.json 的文件file = open(“city.json”, w)

将列表序列化为 JSON 格式的字符串content = json.dumps(city_list, ensure_ascii=False)print(content)

将 JSON 格式的字符串写入本地文件file.write(content)file.close()

    原文作者:不谈风月_0eb8
    原文地址: https://www.jianshu.com/p/4a31b91e5648
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞