使用Python,我们很多时候是需要发送一个网络请求的,这个真的是很容易很容易了,几行代码就能轻松搞定。

get请求代码 python python get 请求_第三方库

一起使用requests这个库

HTTP请求大家很常用,我们在这里用最简方式搞定它。

优秀的第三方库

在这里,我们使用requests这个第三方库。我也向你们推荐使用这个。

Python自带的urllib2其实也支持完整的HTTP请求功能,但是requests更强大,支持连接池、连接保持、session/cookie会话保持、支持文件上传、大文件上传、自动响应内容编码、国际化的URL、POST数据自动编码,并且还自动实现了keep-alive,等等。总而言之,各种好处说不尽,但是使用却很简单。

requests这个库不光功能强大简单易用,而且官方更新很及时,最新版本是今年2月20日发布的2.30.0,就在昨天,官方还修复了5392号BUG。

get请求代码 python python get 请求_python使用get和post方法_02

编写代码

GET请求:

get请求代码 python python get 请求_python使用get和post方法_03

实在是太简单啊

带参数的GET请求:

get请求代码 python python get 请求_python使用get和post方法_04

不必自己在URL字符串上转码拼参数

POST请求:

get请求代码 python python get 请求_get请求代码 python_05

一行代码就搞定啦

带数据的POST请求:

get请求代码 python python get 请求_get请求代码 python_06

将一个字典传进去就可以了

在国内,根据业界惯例,我们的接口都是POST,处理的是JSON,所以我们很多时候是要传一个JSON的,响应也是JSON,这个也很简单:

get请求代码 python python get 请求_第三方库_07

requests以POST方式处理JSON

最后一行,就是从解析JSON之后取出msg的值。

Session处理

我们在连续执行一些请求的时候,尤其是对一个网站做爬虫时,是不需要每次都创建一个新的连接的,这个时候使用session是十分有必要的。

get请求代码 python python get 请求_JSON_08

使用session

在这里,我们把自己伪装成了Chrome浏览器。

几点注意

HTTPS请求也是直接发送,不需要做特殊处理对于同一个网站反复要使用多次连接的,可以使用连接池requests请求时会对内容自动转码,不需要我们做处理最后要提醒大家的是:一定要使用官方的英文文档,不要使用中文文档,中文文档是机器翻译的,是这样的:

get请求代码 python python get 请求_python使用get和post方法_09

实在是神翻译,还是算了吧。

不过英文确实会导致学习成本升高,大家有了网络上的文章入门指导,再对照书本练习,十天半个月你就能成为高手。我就是这么成长起来的。