首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在线读写JSON

在线读写JSON
EN

Stack Overflow用户
提问于 2022-01-06 03:51:30
回答 2查看 202关注 0票数 -1

我正在学习如何读和写json在线存储,比如npoint.ioJSONBIN.io。但是我混淆了如何读和写它,我从互联网上看到了示例代码,但是当我独自尝试时总是失败了。

代码语言:javascript
运行
AI代码解释
复制
import json
from urllib.request import urlopen
url = "just say it abcdefg"
response = urlopen(url)
data_json = json.loads(response.read())

对于写和读,我知道如何做,但如何从互联网导入它如何做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-06 04:21:12

您正在尝试的是一个HTTP GETurl提供的样本网站,你说像npoint.io

当您使用urlopen(url)时,发送的HTTP请求没有大多数网站期望的适当/必需的标题。例如,像User-Agent这样的标题。许多网站出于安全目的禁止这种访问。

您可以以不同的方式访问URL。如果您没有requests库,请像pip install requests一样使用它。

代码语言:javascript
运行
AI代码解释
复制
url = "https://api.npoint.io/6cb9bb8b8fe2856e5977"
response = requests.get(url).json()

会给你

代码语言:javascript
运行
AI代码解释
复制
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}

如果您想使用urllib本身,最好将get请求设置为正式请求,如下所示

代码语言:javascript
运行
AI代码解释
复制
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())

给出

代码语言:javascript
运行
AI代码解释
复制
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}
票数 0
EN

Stack Overflow用户

发布于 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变量中。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70606686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档