前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-数据解析-获取城市列表

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

作者头像
小团子
发布2019-07-18 15:16:55
2.3K0
发布2019-07-18 15:16:55
举报
文章被收录于专栏:数据云团

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

代码语言:javascript
复制
{
  "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,获取网页内容。

代码语言:javascript
复制
# jsonLagou.py
import urllib.request
import jsonpath
import 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 节点的值,形成列表。

代码语言:javascript
复制
# 把 JSON 格式字符串转换成 Python 对象
jsonobj = json.loads(html)
# 从根节点开始,匹配 name 节点
city_list = jsonpath.jsonpath(jsonobj, "$..name")
print(city_list)

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

③ 将城市列表保存到本地

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

代码语言:javascript
复制
# 打开或创建一个名为 city.json 的文件
file = open("city.json", w)

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

# 将 JSON 格式的字符串写入本地文件
file.write(content)
file.close()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档