官方文档:

安装:pip install request

特点:requests最大的特点就是其风格简单直接优雅。

1.请求方法

import requests        # 导入requests

resp_1 = requests.get('http://httpbin.org/get')    # 发送get请求
resp_2 = requests.post('http://httpbin.org/post', data = {'key':'value'}) # 发送post请求,data:传递参数
resp_3 =requests.put('http://httpbin.org/put',data={'key': 'value'}) #发送put请求,data:传递参数
resp_4 = resp_5 = requests.head('http://httpbin.org/get') # 发送head请求
resp_5 = requests.options('http://httpbin.org/get') # 发送options请求
resp_6 = requests.delete('http://httpbin.org/delete') # 发送delete请求

2.传递URL参数

# requests中使用关键字params传递URL参数
import requests params = {'key1': 'value1', 'key2': ['value2','value3']}
resp = requests.get('http://httpbin.org/get', params=params)
print(resp.url)

3.自定义header

import requests

url = 'https://www.douban.com/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6821.400 QQBrowser/10.3.3040.400'
}
resp = requests.get(url=url,headers=headers)
resp.encoding = 'utf-8'
print(resp.text)

4.自定义Cookie

import requests

cookies = {
'cookies_are': 'working'
}
resp = requests.get('http://www.baidu.com',cookies=cookies)
for items in resp.cookies.items():
cookies[items[0]] = items[1]
print(cookies)

5.设置代理

proxies = {
'http': 'http://127.0.0.10:3126',
'https': 'http://10.10.1.10:1080'
}
requests.get('http://example.org',proxies=proxies)

6.重定向

# 在网络请求中,我们常常会遇到状态码是3开头的重定向问题,
# 在Requests中是默认开启允许重定向的,即遇到重定向时,会自动继续访问。
# 使用allow_redirects来控制是否开启重定向 resp = requests.get('http://github.com', allow_redirects=False)
print(resp.status_code)

7.禁止证书验证

"有时候我们使用了抓包工具,这个时候由于抓包工具提供的证书并不是由受信任的数字证书颁发机构颁发的,"
"所以证书的验证会失败,所以我们就需要关闭证书验证。在请求的时候把verify参数设置为False就可以关闭证书验证了。"
resp = requests.get('http://httpbin.org/post', verify=False)

8.设置超时

"设置访问超时,设置timeout参数就可"
requests.get('http://github.com', timeout=0.001)

9.接收响应

"通过Requests发起请求获取到的,是一个requests.models.Response对象。通过这个对象我们可以很方便的获取响应的内容。"
"之前通过urllib获取的响应,读取的内容都是bytes的二进制格式,需要我们自己去将结果decode()一次转换成字符串数据。"
"而Requests通过text属性,就可以获得字符串格式的响应内容。"
resp = requests.get('http://www.baidu.com')
resp.encoding = 'utf-8' # --------------指定解码的编码格式
print(resp.text) # --------------获取字符串格式的响应内容
print(resp.content) # --------------获得原始的二进制数据
print(resp.json()) # --------------将json格式数据转换为字典格式的数据
print(resp.status_code) # --------------获取响应的状态码
print(resp.headers) # --------------获取响应的报头
print(resp.cookies) # --------------获取服务器返回的cookies
print(resp.url) # --------------查看访问的URL

10.案例:使用request完成登录

~request库的使用的更多相关文章

  1. Python3 urllib.request库的基本使用

    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...

  2. Python request库与爬虫框架

    Requests库的7个主要方法  requests.request():构造一个请求,支持以下各方法的基础方法  requests.get():获取HTML网页的主要方法,对应于HTTP的GET  ...

  3. Request库使用response.text返回乱码问题

    我们日常使用Request库获取response.text,这种调用方式返回的text通常会有乱码显示: import requests res = requests.get("https: ...

  4. 爬虫——urllib.request库的基本使用

    所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地.在Python中有很多库可以用来抓取网页,我们先学习urllib.request.(在python2.x中为urllib2 ...

  5. 爬虫request库规则与实例

    Request库的7个主要方法: requests.request(method,url,**kwargs) ​ method:请求方式,对应get/put/post等7种: ​ r = reques ...

  6. Python网络爬虫与信息提取[request库的应用](单元一)

    ---恢复内容开始--- 注:学习中国大学mooc 嵩天课程 的学习笔记 request的七个主要方法 request.request() 构造一个请求用以支撑其他基本方法 request.get(u ...

  7. Request库的安装与使用

    Request库的安装与使用 安装 pip install reqeusts Requests库的7个主要使用方法 requests.request() 构造一个请求,支撑以下各方法的基础方法 req ...

  8. python网络爬虫学习笔记(一)Request库

    一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...

  9. Request库学习

    0x00前言 这库让我爱上了python  碉堡! 开心去学了一些python,然后就来学这个时候神库~~ 资料来源:http://cn.python-requests.org/en/latest/u ...

  10. 爬虫入门【1】urllib.request库用法简介

    urlopen方法 打开指定的URL urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, ca ...

随机推荐

  1. 如何在wcf中用net tcp协议进行通讯

    快速阅读 如何在wcf中用net tcp协议进行通讯,一个打开Wcf的公共类.比较好好,可以记下来. 配置文件中注意配置 Service,binding,behaviors. Service中配置en ...

  2. linux: 右键添加打开终端

    安装一个包,即可在右键里面添加一个“打开终端”的菜单. sudo apt-get install nautilus-open-terminal 注销用户重启,然后再进入就可以右键->在终端打开选 ...

  3. Mybatis Hibernate MiniDao 共存

    Mybatis MiniDao共存问题 - 国内版 Binghttps://cn.bing.com/search?q=Mybatis+MiniDao%E5%85%B1%E5%AD%98%E9%97%A ...

  4. centos6.8安装python3.7.3报错Can't connect to HTTPS URL because the SSL module is not available问题解决

    环境:CentOS release 6.8 (Final) # 直接编译python3.7在使用pip3安装依赖的时候报错: Can't connect to HTTPS URL because th ...

  5. MFC加载osg模型

    创建MFC单文档项目, OSGObject.h #pragma once #include <osgViewer\Viewer> #include <osgDB\ReadFile&g ...

  6. Locust性能测试-分布式执行的方法(亲测ok)

    来源:https://www.cnblogs.com/yoyoketang/p/11681370.html 前言 使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以在多台机 ...

  7. ISCSI多路径配置(二)

    搭建iscsi存储系统(一) (1).配置ISCSI多路径实现磁盘挂载高可用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 ...

  8. Python - Django - 静态文件相关

    静态文件的路径设置在 settings.py 中 如果该路径发生更改的话,html 中相关路径也要进行修改 CSS: <link href="/static/dashboard.css ...

  9. delphi十六进制字符串hex转byte数组互相转换bmp图片

    procedure Hex2Png(str: string; out png: TPngObject); var stream: TMemoryStream; begin if not Assigne ...

  10. Dockerfile-server2

    [root@lab2 docker-file]# cd server2/ [root@lab2 server2]# ls ddbes-server2-0.0.1-SNAPSHOT.jar Docker ...