如何从URL中删除JSON文件并打印内容

时间:2018-05-15 00:29:27

标签: json python-3.x web-scraping python-requests

以下是我要抓的网站:https://s2.coinmarketcap.com/generated/search/quick_search.json

我不知道如何从URL中抓取JSON文件并打印出内容。 我尝试过阅读,但我得到的最多的是这段代码,当我运行它时它不起作用:

import requests
import json

url = "https://s2.coinmarketcap.com/generated/search/quick_search.json"
r = requests.get(url)
cont = json.loads(r.content)
print(cont)

2 个答案:

答案 0 :(得分:1)

几乎正确。应该是r.json()。请求有一个内置的json解析器。

import requests
import json

url = "https://s2.coinmarketcap.com/generated/search/quick_search.json"
r = requests.get(url)
cont = r.json()
print(cont)

另外,如果你想要打印特定内容,只需像其他任何json obj那样迭代它

for k in cont:
    if k['name'] == 'VapersCoin':
        do_something()

答案 1 :(得分:1)

看起来你遇到了地狱般的地狱。有时使用Python3,您必须执行encode()或decode()以将字节字符串转换为unicode字符串。

在示例代码中,如果您将第6行更改为

cont = json.loads(r.content.decode())

它会运行。 @PhilippeT的解决方案也没问题,因为json()函数似乎会自动返回一个unicode字符串。