从网上读取JSON - 最好的方法

问题描述 投票:0回答:2

我尝试从 GitHub 存储库中读取 JSON 文件,但不断收到 SSL 证书错误。下面的代码已经大大简化,因为它正在读取 JSON 作为更大函数的一部分,该函数在端口扫描中使用数据,但只是寻找快速修复。

test1.json
(样本):

{
    "7": "Echo",
    "19": "Chargen",
    "20": "FTP",
    "21": "FTP",
    "22": "SSH/SCP",
    "23": "Telnet",
    "25": "SMTP",
    "42": "WINS Replication",
    "43": "WHOIS",
    "49": "TACACS",
}

有什么最好的方法吗?

import json
from urllib.request import urlopen

url = "https://github.com/UNAME/REPO/blob/master/test1.json"
ports_and_services_file = urlopen(url)
data = json.loads(ports_and_services_file.read())
print(data)

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>
python-3.x
2个回答
0
投票

您的 json 文件链接不正确。请按照以下步骤获取正确的链接。

第1步:在github上打开目标文件并点击
RAW
按钮

enter image description here

第 2 步:从浏览器 url 字段复制 url

网址域名应为

https://raw.githubusercontent.com/...

enter image description here


之后,您可以从 url 读取文件并转换为 pandas 数据框,如下所示:

import pandas as pd

url = "https://raw.githubusercontent.com/gremur/stackoverflow/main/71409474_data.json"

df = pd.read_json(url)

df

退货

enter image description here


0
投票

我有同样的错误(来自不同的网站),所以我用以下方法修复了它:

!pip 安装 pip-system-certs

导入请求 将 pandas 导入为 pd

url =“json url”

df=pd.read_json(requests.get(url,verify=False).text)

© www.soinside.com 2019 - 2024. All rights reserved.