首先在程序中引入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获取响应内容、响应状态码、响应头相关推荐

  1. python request返回的响应_Python爬虫库requests获取响应内容、响应状态码、响应头...

    首先在程序中引入Requests模块 import requests 一.获取不同类型的响应内容 在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容 1.文本响应内容 ...

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

    更多python教程请到: 菜鸟教程www.piaodoo.com 人人影视www.sfkyty.com 16影视www.591319.com 星辰影院www.591319.com 首先在程序中引入R ...

  3. python爬虫提取a标签_Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释

    一.Tag(标签)对象 1.Tag对象与XML或HTML原生文档中的tag相同. from bs4 import BeautifulSoup soup = BeautifulSoup('Extreme ...

  4. python tag对象下有多个标签、属性_Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释...

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 如何利用Python爬虫库BeautifulSoup获取对象(标签) ...

  5. python获取标签属性值_Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释

    更多python教程请到: 菜鸟教程www.piaodoo.com 人人影视www.sfkyty.com 16影视www.591319.com 星辰影院www.591319.com 一.Tag(标签) ...

  6. python网页查询然后返回结果_python(30) 获取网页返回的状态码,状态码对应问题查询...

    获取访问网页返回的状态码 html = requests.get(Url) respon= html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表请 ...

  7. python爬取网页内容_Python爬虫原理解析

    笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...

  8. 415 http请求 hutool_HTTP状态码(响应码)之客户端错误400

    HTTP状态码(响应码)400意为客户端错误,下面列出HTTP状态码400系列所代表的含义: 400:Bad Request(错误请求) 因发送的请求语法错误,服务器无法正常读取. HTTP/0.9 ...

  9. python爬虫requests库_python爬虫使用Requests库 - pytorch中文网

    在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...

最新文章

  1. 自创数据集,用TensorFlow预测股票教程 !(附代码)
  2. SAP WM LPK1 不能把 cross-material control cycles定义成release order parts
  3. Oracle通用分页包
  4. java.lang.OutOfMemoryError及解决方案
  5. Windows保护模式学习笔记(七)—— PDEPTE
  6. 1564: Strange Class
  7. 【嵌入式】Libmodbus之RTU模式Master端程序示例
  8. 虎牙直播在AI实时剪辑技术上的创新实践
  9. 【树链剖分】LCA(P4211)
  10. 【BZOJ4668】冷战 并查集
  11. repo打了 tag之后如何提交tag_技术开发者应该如何构建小团队的微服务方案?
  12. java做万年历,Java做的万年历
  13. LDAP认证-ldap搭建
  14. 03系统服务器下安装WMP10实际经验分析
  15. JavaScript网页特效范例宝典pdf
  16. Error: A <Route> is only ever to be used as the child of <Routes> element, never rendereddirectly
  17. 辅助驾驶功能开发-功能规范篇(04)- 交通拥堵辅助及集成式巡航辅助TJA/ICA
  18. 如何去掉复制mobi文件代码里的一些符号
  19. Cannot connect:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。192.168.0.113:22
  20. 解决spacy3.2报错:Can‘t find model ‘en‘.

热门文章

  1. Data Guard搭建困境突围(一)
  2. 应用于服务供应商网络的IP+光纤业务实现解决方案
  3. mysql 查询slow log状态,MySQL开启慢查询日志log-slow-queries的方法
  4. spring入门(11)-spring与hibernate整合完成增删改查的操作(封装HibernateTemplate模版类对象)
  5. jQueryt过滤选择器
  6. css的三种定位方式使用探讨
  7. 口语学习Day1:天气
  8. QT5中实现多窗口切换,并从子窗口返回数据
  9. 常用HTTP状态码趣(曲)解
  10. easyui 删除指定行