【问题标题】:Python Request binary contentPython 请求二进制内容
【发布时间】:2023-04-01 21:55:01
【问题描述】:

我正在尝试从 Google 趋势 URL 获取 JSON,但我无法将其转换为 JSON,因为内容为 b''。我怎样才能得到这个结果作为 JSON?

我的简单代码:

import requests
r = requests.get('https://trends.google.ru/trends/api/stories/latest?hl=ru&tz=-180&cat=all&fi=15&fs=15&geo=RU&ri=300&rs=15&sort=0')
print(r.content)

r.content 开头为:

b')]}\'\n{"featuredStoryIds":[],"trendingStoryIds":["RU_lnk_iJ8H1AAwAACP-M_ru","RU_lnk_7H7L0wAwAAAnHM_ru","RU_lnk_Q-IB1AAwAABChM_ru","RU_lnk_EErj0wAwAADzKM_ru","RU_lnk_VruY2s0wAM RU_lnk_sdUP1AAwAAC-sM_ru","RU_lnk_ILv60wAwAADa2M_ru","RU_lnk_O6j70wAwAADAyM_ru","RU_lnk_fVQS1AAwAABvMM_ru","RU_lnk_TJ8D1AAwAABP-M_ru","RU_lnk_I97F0wAwAADmvM_ru","RU_lnk_tCrq0wAwAABeSM_ru","RU_lnk_W8EA1AAwAABbpM_ru","RU_lnk_IYX90wAwAADc5M_ru","RU_lnk_bz4M1AAwAABjWM_ru","RU_lnk_EJ-...

使用r.json() 方法解码失败:

simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

【问题讨论】:

  • r.content 确实是原始二进制数据。你看过response.json() method了吗?当你调用它时会发生什么?
  • 是的,simplejson.scanner.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)

标签:
python
json
binary
python-requests