requests库的使用(五)

一、requests库的介绍

  • Requests的使用方式非常的简单、直观、人性化,让程序员的精力完全从库的使用中解放出来。
  • requests库的中文官方文档:http://cn.python-requests.org/zh_CN/latest/
  • requests库的英文文档:http://docs.python-requests.org/en/master/api/

二、requests库的例子与特性

  • requests最大的特性就是其风格的简单直接优雅。无论是请求方法,还是响应结果的处理,还有cookies,url参数,post提交数据,都体现出了这种风格。
  • 示例:
import requests
r = requests.get(url='http://www.itwhy.org')    # 最基本的GET请求 
print(r.status_code)    # 获取返回状态
r = requests.get(url='http://dict.baidu.com/s', params={'wd':'python'})   #带参数的GET请求
print(r.url)
print(r.text)   #打印解码后的返回数据

三、requests库发送请求时的请求方法

  • requests的请求不再像urllib一样需要去构造各种request、opener和handler,使用requests数据包构造并发送相应的请求,并在其中传入需要的参数即可。
  • 每一个请求方法都有一个对应的API,比如GET请求就可以使用get()方法;而POST请求就可以使用post()方法,并且将需要提交的数据传递给data参数即可,就可以在访问后的界面显示出来。
import requests
requests.get('http://www.dict.baidu.com/s', params={'wd': 'python'}) #GET参数实例
requests.post('http://www.itwhy.org/wp-comments-post.php', data={'comment': '测试POST'}) #POST参数实例

四、requests库发送请求时传递URL参数

  • 将URL参数构造为一个字典对象,其中键对应参数名,值对应参数值。
  • 可以查看URL参数是否构造正确:
  • 遇到相同的url参数名,但有不同的参数值,而python的字典又不支持键的重名,那么我们可以把键的值用列表表示:

五、requests库发送请求时自定义Headers(请求头)

  • 如果想自定义请求的headers,同样的将字典数据传递给headers参数。
  • requests中自定义Cookies也不用再去构造CookieJar对象,直接将字典递给cookies参数。

六、requests库发送请求时设置代理

  • 同样构造代理字典,传递给proxies参数。

七、requests库发送请求时进行重定向

  • 我们常常会遇到状态码是3开头的重定向问题,在requests中是默认开启允许重定向的,即遇到重定向时,会自动继续访问。
  • allow_redirects默认为True。下面是不允许重定向。

八、requests库发送请求时设置超时

  • 设置访问超时,设置timeout参数即可(秒为单位)。

你可能感兴趣的:(requests库的使用(五))