猿问

尝试从 DnDBeyond 下载 json 文件会出现 403 错误

我正在制作一个从 DnDBeyond 下载字符表的 D&D 机器人。不幸的是,尝试下载公开可用字符的 json 文件时会不断返回 403 错误。


我正在尝试下载此字符表: https ://www.dndbeyond.com/characters/22738330/json


这是公开的,应该返回一个 json 文件。


我使用了以下代码:


import requests

url = "https://www.dndbeyond.com/characters/22738330/json"

response = requests.get(url)

print(response.json())

尽管我只需单击它就可以在浏览器上加载该字符,但它仍然返回 403 错误。我哪里错了?


大话西游666
浏览 223回答 3
3回答

梵蒂冈之花

尝试添加有效的 User-Agent 和其他标头,使其看起来像是通过浏览器访问。像这样的东西:headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3835.0 Safari/537.36',       'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',       'Host':'www.dndbeyond.com',       'Accept-Language': 'en-US,en;q=0.5',       'Accept-Encoding': 'gzip, deflate',       'Upgrade-Insecure-Requests': '1',       'Connection': 'close'    }response = requests.get(url, headers=headers)

侃侃无极

要访问 json,您需要删除路径组件“字符”上的复数。至于数据格式,我几乎完成了对整个结构的充实。Objective-C 源代码包括所有类定义。https://github.com/mouser/BeyondDnD

梦里花落0921

本网站受https://www.perimeterx.com/whywasiblocked/保护它检测到您不是真正的用户并拒绝您访问。检查response.text脚本中的输出。
随时随地看视频慕课网APP

相关分类

Python
我要回答