python爬虫入门教程--优雅的HTTP库requests(二)

requests 实现了 HTTP 协议中绝大部分功能,它提供的功能包括 Keep-Alive、连接池、Cookie持久化、内容自动解压、HTTP代理、SSL认证等很多特性,下面这篇文章主要给大家介绍了python爬虫入门中关于优雅的HTTP库requests的相关资料,需要的朋友可以参考下。
前言

urllib、urllib2、urllib3、httplib、httplib2 都是和 HTTP 相关的 Python 模块,看名字就觉得很反人类,更糟糕的是这些模块在 Python2 与 Python3 中有很大的差异,如果业务代码要同时兼容 2 和 3,写起来会让人崩溃。

好在,还有一个非常惊艳的 HTTP 库叫 requests,它是 GitHUb 关注数最多的 Python 项目之一,requests 的作者是 Kenneth Reitz 大神。

requests 实现了 HTTP 协议中绝大部分功能,它提供的功能包括 Keep-Alive、连接池、Cookie持久化、内容自动解压、HTTP代理、SSL认证、连接超时、Session等很多特性,最重要的是它同时兼容 python2 和 python3。requests 的安装可以直接使用 pip 方法:pip install requests

发送请求

|

`>>>` `import` `requests`

`# GET 请求`

`>>> response` `=` `requests.get(<a rel``=``"external nofollow"` `href``=``"[https://foofish.net/](https://foofish.net/)"``>https:``/``/``foofish.net<``/``a>)`

|

响应内容

请求返回的值是一个Response 对象,Response 对象是对 HTTP 协议中服务端返回给浏览器的响应数据的封装,响应的中的主要元素包括:状态码、原因短语、响应首部、响应体等等,这些属性都封装在Response 对象中。

 | 

`# 状态码`

`>>> response.status_code`

`200`

`# 原因短语`

`>>> response.reason`

`'OK'`

`# 响应首部`

`>>>` `for` `name,value` `in` `response.headers.items():`

`...` `print``(``"%s:%s"` `%` `(name, value))`

`...`

`Content``-``Encoding:gzip`

`Server:nginx``/``1.10``.``2`

`Date:Thu,` `06` `Apr` `2017` `16``:``28``:``01` `GMT`

`# 响应内容`

`>>> response.content`

`'

你可能感兴趣的:(爬虫,python,数据分析,python,爬虫,http)