【问题标题】:Python - Requests pulling HTML instead of JSONPython - 请求提取 HTML 而不是 JSON
【发布时间】:2018-07-15 19:43:18
【问题描述】:

我正在构建一个 Python 网络爬虫(个人使用),但在检索 JSON 文件时遇到了一些问题。我能够找到我需要的请求 URL,但是当我运行我的脚本(我正在使用请求)时,URL 返回 HTML 而不是 Chrome 开发人员工具控制台中显示的 JSON。这是我当前的脚本:

import requests
import json

url = 'https://nytimes.wd5.myworkdayjobs.com/Video?clientRequestID=1f1a6071627946499b4b09fd0f668ef0'

r = requests.get(url)
print(r.text)

对 Python 来说是全新的,因此非常感谢任何朝着正确方向的推动。谢谢!

【问题讨论】:

  • requests 可以为您解析 JSON。看看r.json() 返回什么。
  • 每当我尝试运行 JSON 时都会出错:(
  • @Shelby 是什么错误?
  • @Shelby 另外,在查看了链接之后,是什么让您期望它返回 JSON 响应?是否有记录在案的 API?

标签: python json python-3.x python-requests


【解决方案1】:

看起来该网站根据请求提供的接受标头返回响应。所以试试:

import requests
import json

url = 'https://nytimes.wd5.myworkdayjobs.com/Video?clientRequestID=1f1a6071627946499b4b09fd0f668ef0'

r = requests.get(url, headers={'accept': 'application/json'})
print(r.json())

您可以查看完整的 api 以供进一步参考:http://docs.python-requests.org/en/latest/api/

【讨论】:

  • 完美!那成功了。非常感谢,非常感谢!
猜你喜欢
  • 2023-04-04
  • 2016-05-30
  • 2016-09-09
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多