欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python构造响应头_Python爬虫库requests获取响应内容、响应状态码、响应头

发布时间:2025/5/22 python 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python构造响应头_Python爬虫库requests获取响应内容、响应状态码、响应头 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先在程序中引入Requests模块

import requests

一、获取不同类型的响应内容

在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容

1.文本响应内容

获取文本类型的响应内容

r = requests.get('https://www.baidu.com')

r.text # 通过文本的形式获取响应内容

'\r\n

ç\x99¾åo|ä¸\x80ä¸\x8bï¼\x8cä½\xa0å°±ç\x9f¥é\x81\x93 æ\x96°é\x97» hao123 å\x9c°å\x9b¾ è§\x86é¢\x91 è′′å\x90§ ç\x99»å½\x95 æ\x9b′å¤\x9aäo§å\x93\x81

å\x853äo\x8eç\x99¾åo| About Baidu

©2017 Baidu ä½¿ç\x94¨ç\x99¾åo|å\x89\x8då¿\x85èˉ»  æ\x84\x8fè§\x81å\x8f\x8dé|\x88 äo¬ICPèˉ\x81030173å\x8f· 

\r\n'

通过encoding来获取响应内容的编码以及修改编码

r.encoding

'ISO-8859-1'

2.二进制响应内容

r.content # 通过content获取的内容便是二进制类型的

3.JSON响应内容

r.json()

4.原始响应内容

r = requests.get('https://www.baidu.com',stream=True)

print(r.raw) # 就是urllib中的HTTPResponse对象

print(r.raw.read(10))

b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03'

二、响应状态码

获取响应状态码

r = requests.get('https://www.baidu.com')

r.status_code

200

判断响应状态码

r.status_code == requests.codes.ok

True

当发送一个错误请求时,抛出异常

bad_r = requests.get('http://httpbin.org/status/404')

print(bad_r.status_code)

bad_r.raise_for_status()

404

---------------------------------------------------------------------------

HTTPError Traceback (most recent call last)

in ()

1 bad_r = requests.get('http://httpbin.org/status/404')

2 print(bad_r.status_code)

----> 3 bad_r.raise_for_status()

D:\Anaconda3\lib\site-packages\requests\models.py in raise_for_status(self)

926

927 if http_error_msg:

--> 928 raise HTTPError(http_error_msg, response=self)

929

930 def close(self):

HTTPError: 404 Client Error: NOT FOUND for url: http://httpbin.org/status/404

三、响应头

获取响应头

r = requests.get('https://www.baidu.com')

r.headers

{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'Keep-Alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Mon, 23 Jul 2018 09:04:12 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:23:51 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}

获取响应头的具体字段

print(r.headers['Server'])

print(r.headers.get('Server'))

bfe/1.0.8.18

bfe/1.0.8.18

更多关于Python爬虫库requestsr的使用方法请查看下面的相关链接

本文标题: Python爬虫库requests获取响应内容、响应状态码、响应头

本文地址: http://www.cppcns.com/jiaoben/python/299119.html

总结

以上是生活随笔为你收集整理的python构造响应头_Python爬虫库requests获取响应内容、响应状态码、响应头的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。