Cli*_*ick 36 python api json python-3.x
我如何用python解析json api响应?我目前有这个:
import urllib.request
import json
url = 'https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty'
def response(url):
with urllib.request.urlopen(url) as response:
return response.read()
res = response(url)
print(json.loads(res))
Run Code Online (Sandbox Code Playgroud)
我收到此错误:TypeError:JSON对象必须是str,而不是'bytes'
什么是pythonic方式来处理json apis?
fer*_*rdy 50
版本1 :(在导入模块之前执行pip安装请求)
import requests
r = requests.get(url='https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty')
print(r.json())
Run Code Online (Sandbox Code Playgroud)
版本2 :(在导入模块之前执行pip install wget)
import wget
fs = wget.download(url='https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty')
with open(fs, 'r') as f:
content = f.read()
print(content)
Run Code Online (Sandbox Code Playgroud)
小智 31
你可以使用标准库python3:
import urllib.request
import json
url = 'http://www.reddit.com/r/all/top/.json'
req = urllib.request.Request(url)
##parsing response
r = urllib.request.urlopen(req).read()
cont = json.loads(r.decode('utf-8'))
counter = 0
##parcing json
for item in cont['data']['children']:
counter += 1
print("Title:", item['data']['title'], "\nComments:", item['data']['num_comments'])
print("----")
##print formated
#print (json.dumps(cont, indent=4, sort_keys=True))
print("Number of titles: ", counter)
Run Code Online (Sandbox Code Playgroud)
输出将是这样的:
...
Title: Maybe we shouldn't let grandma decide things anymore.
Comments: 2018
----
Title: Carrie Fisher and Her Stunt Double Sunbathing on the Set of Return of The Jedi, 1982
Comments: 880
----
Title: fidget spinner
Comments: 1537
----
Number of titles: 25
Run Code Online (Sandbox Code Playgroud)
我通常会将requests包与包一起使用json.以下代码应该适合您的需求:
import requests
import json
url = 'https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty'
r = requests.get(url)
print(json.loads(r.content))
Run Code Online (Sandbox Code Playgroud)
产量
[11008076,
11006915,
11008202,
....,
10997668,
10999859,
11001695]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64320 次 |
| 最近记录: |