【问题标题】:How do I get Python requests.get "application/json" from a HTML page?如何从 HTML 页面获取 Python requests.get "application/json"?
【发布时间】:2016-03-22 20:26:36
【问题描述】:
有没有办法从 HTML 网站获取 JSON 代码?如果我使用这样的代码:
r = requests.get(url)
if r.status_code == 200:
r.json()
result = json.loads(r)
HTML 页面总是会出错。我应该使用哪些模块来获取 HTML 页面到 Python 字典?
【问题讨论】:
标签:
json
python-3.x
python-requests
【解决方案1】:
您的代码中只有一个错误。
一旦你这样做了
r.json()
你没有将它分配给任何东西。要纠正这个问题,只需用下面的行更改你的前一行,你应该很好:)。
r = r.json()
【解决方案2】:
并非所有网页都以JSON 数据响应。但是您可以使用json.loads 以 json 字符串形式打印数据。您还可以使用r.contents 或r.text 了解来自网页的数据类型。大多数时候它只是HTML Content
import requests
import json
r = requests.get('http://www.google.com')
# you can use r.content to print the webpage data
print r.content
# json.loads(data) `json_loads` is to convert data into `json string`
print json.loads(r.content)
如果数据无法解码为JSON Object,json.loads 将进入ValueError