【问题标题】:Python requests lib doesn't work with LinkedInPython 请求库不适用于 LinkedIn
【发布时间】:2019-01-08 01:15:03
【问题描述】:

示例代码:

import requests
print requests.get("https://www.linkedin.com/")

我得到:<Response [200]>

简单的 curl 请求确实有效:

curl "https://www.linkedin.com/"

【问题讨论】:

  • 200 表示您提出了有效的请求并得到了良好的响应......
  • 到底是什么问题?响应 200 表示连接良好。
  • 我认为 OP 期望 requestscurl 一样回馈 HTML
  • 您看到的响应对象(即<Response [200]>)包含该数据。请参阅here 以访问它。
  • 看看documenation 会告诉你如何解决它。 RTM

标签: python debugging https request python-requests


【解决方案1】:

如果您收到<Response [200]>,则表示它工作正常。您应该参考documentation 来解压这个Response 对象以获取其中的数据。

例如:

>>> r = requests.get('https://linkedin.com/')
>>> r.text
'<!DOCTYPE html> ...'

【讨论】:

    【解决方案2】:

    requests.get() 函数返回一个 Response 对象,其中包含有关 status_code、标头和内容的属性:

    [In]: type(requests.get("https://www.linkedin.com/")

    [Out]: &lt;class 'requests.models.Response'&gt;.

    我建议将返回的响应保存到变量中:

    response = requests.get("https://www.linkedin.com/")

    然后您可以使用response.json()(如果是 JSON 文件)或 response.text(如果是 html 页面)访问响应的内容。

    在您的用例中,response.text 应该返回与 curl "https://www.linkedin.com/" 相同的内容。

    【讨论】:

      猜你喜欢
      • 2020-09-22
      • 1970-01-01
      • 2022-01-17
      • 2020-11-08
      • 2017-12-23
      • 2019-12-18
      • 2018-11-21
      • 2023-01-12
      相关资源
      最近更新 更多