我正在学习如何读和写json在线存储,比如npoint.io
或JSONBIN.io
。但是我混淆了如何读和写它,我从互联网上看到了示例代码,但是当我独自尝试时总是失败了。
import json
from urllib.request import urlopen
url = "just say it abcdefg"
response = urlopen(url)
data_json = json.loads(response.read())
对于写和读,我知道如何做,但如何从互联网导入它如何做呢?
发布于 2022-01-06 04:21:12
您正在尝试的是一个HTTP GET
为url
提供的样本网站,你说像npoint.io
。
当您使用urlopen(url)
时,发送的HTTP请求没有大多数网站期望的适当/必需的标题。例如,像User-Agent
这样的标题。许多网站出于安全目的禁止这种访问。
您可以以不同的方式访问URL。如果您没有requests
库,请像pip install requests
一样使用它。
url = "https://api.npoint.io/6cb9bb8b8fe2856e5977"
response = requests.get(url).json()
会给你
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}
如果您想使用urllib
本身,最好将get请求设置为正式请求,如下所示
import urllib, json
# Mock a browser
user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
headers = {'User-Agent': user_agent, }
request = urllib.request.Request(url, None, headers)
response = urllib.request.urlopen(request)
response = json.loads(response.read())
给出
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}
发布于 2022-01-06 04:01:08
您是否试图在浏览器中获取localStorage缓存?我不知道如果您只是访问一个随机的API,那么使用python是否可行,因为localStorage是特定于浏览器的。在这里见更多
How could I access localstorage under Python requests
也许尝试使用selenium并打开一个新的浏览器。通过使用selenium库,您可以在python内部打开一个新浏览器,并且您可以更直接地控制您的浏览器。
但是,以https://randomuser.me/api为例,您的代码可以工作,JSON值将被获取并存储在data_json变量中。
https://stackoverflow.com/questions/70606686
复制相似问题