我正在尝试从JSON页面('https://oa.ceair.com/common_source/airport/en_AU.json?v=1561031507803&_=1561031507712')中收集一些信息,并将其转换为本地硬盘上的文本文件。 更具体地说,我只需要“匹配”,“标签”和“值”上的字符串。
import os, re, requests
def getCity():
url='https://oa.ceair.com/common_source/airport/en_AU.json?
v=1561031507803&_=1561031507712'
response=requests.get(url,verify=True)
city=re.findall('([A-Z]+)',response.text)
city=str(city)
write(city)
使用上面的代码,信息已成功输入到另一个文本文件中,但是其中包含所有原始数据。
答案 0 :(得分:1)
由于它是 json ,因此使用起来很容易。请求具有内置支持。响应的json
方法返回一个dict
,我们可以轻松使用它:
import requests
response = requests.get(r"https://oa.ceair.com/common_source/airport/en_AU.json?v=1561031507803&_=1561031507712", verify=True)
airports = response.json()
with open(r"airport_info.txt", "wt") as f:
for airport in airports:
f.write(f"match: {airport['match']}\n") # Literal string interpolation
f.write(f"label: {airport['label']}\n") # See https://realpython.com/python-f-strings/
f.write(f"value: {airport['value']}\n")
airport_info.txt看起来像这样,需要1258行:
match: SYD,SYDNEY KINGSFORD SMITH APT,XiNiJinSiFuTe·ShiMiSiJiChang,XNJSFT·SMSJC
label: SYDNEY KINGSFORD SMITH APT, SYD
value: SYD
match: MEL,MELBOURNE,MoErBen,MEB
label: MELBOURNE, MEL
value: MEL
等