You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python requests请求DeviantArt接口返回不完整JSON问题求助

问题解决方案

核心原因

服务端设置了反爬策略,会校验请求的身份标识,requests默认的请求特征被识别为爬虫,因此返回截断后的不完整数据。

具体修复步骤

  • 补充请求头模拟浏览器特征
    首先需要把浏览器访问该接口时带的User-Agent、Referer字段复制到代码的请求头中,避免被直接识别为爬虫。User-Agent可以直接用以下常用Chrome标识,也可以打开浏览器控制台的「网络」标签,找到对应接口请求复制真实的UA值,匹配度更高效果更好。
  • 补充Cookie(可选,适配需要登录查看的内容)
    如果你是在登录状态下才能在浏览器拿到完整数据,说明部分内容仅对登录用户开放,需要把浏览器中对应站点的Cookie也复制到请求头中。

修复后代码示例

import requests

headers = {
    # 替换为你自己浏览器的真实UA效果更好
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Referer": "https://www.deviantart.com/Dreamsquid/gallery"
}
# 如果需要加Cookie,就在headers里加"Cookie": "你复制的浏览器Cookie字符串"

jsonUrl = "https://www.deviantart.com/_napi/da-user-profile/api/gallery/contents?username=Dreamsquid&offset=48&limit=24&folderid=58533887"
response = requests.get(jsonUrl, headers=headers)
jsonResponse = response.json()
print(jsonResponse)

额外注意事项

  • 可以先打印response.status_code确认请求状态是否为200,如果返回4xx/5xx状态码可以进一步定位是权限问题还是参数错误
  • 控制请求频率,避免短时间内发起大量请求触发站点的限流规则,导致IP被临时封禁

内容的提问来源于stack exchange,提问作者user9634100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 01:15:06