如何从Python请求调用中提取HTTP响应主体?

Ste*_*oss 40 http-request python-requests

我正在使用Python请求库.我试图找出如何从响应中提取实际的HTML正文.代码看起来有点像这样:

r = requests.get(...)
print r.content
Run Code Online (Sandbox Code Playgroud)

这应该打印很多内容,但不打印任何内容.

有什么建议?也许我误解了requests.get()是如何工作的?

小智 68

你的代码是正确的.我测试过:

r = requests.get("http://www.google.com")
print(r.content)
Run Code Online (Sandbox Code Playgroud)

它返回了大量内容.检查网址,尝试" http://www.google.com ".干杯!

  • 对,是真的。我一定是误解了我应该从正在使用的特定页面中得到什么。不过还是谢谢。 (2认同)

小智 19

你可以尝试这个方法:

import requests

response = requests.get("http://www.google.com")
response.raise_for_status()

data = response.json()
print(data)
Run Code Online (Sandbox Code Playgroud)

  • json() 方法仅在响应正文为 JSON 格式时才有效 (2认同)

小智 5


import requests

site_request = requests.get("https://abhiunix.in")

site_response = str(site_request.content)

print(site_response)

Run Code Online (Sandbox Code Playgroud)

你可以用任何一种方式来做。