import requests

请求方式:

    requests.get("https://www.baidu.com")
requests.post("http://httpbin.org/post")
requests.put("http://httpbin.org/put")
requests.delete("http://httpbin.org/delete")
requests.head("http://httpbin.org/get")
requests.options("http://httpbin.org/get") 获取数据: r = requests.get('http://www.baidu.com') #像目标url地址发送get请求,返回一个response对象 response.text返回的是Unicode格式,通常需要转换为utf-8格式。
response.content是二进制模式,可以下载视频之类的,如果想看的话需要decode成utf-8格式。
# response.content.decode("utf-8) 或 response.encoding="utf-8" 转码 print(r.text) # 返回响应的内容
  print(r.content) # 这样获取的数据是二进制数据
print(r.url) # 打印请求网址的地址
print(r.status_code) # 打印请求页面的状态(状态码)# r.ok的布尔值便可以知道是否登陆成功
print(r.cookies) # 打印请求网址的cookies信息
print(r.headers) # 打印请求网址的headers所有信息
print(r.encoding) # 获取/修改网页编码
print(r.json()) # 返回json数据 print(r.history) # 打印请求的历史记录(以列表的形式显示) # 下载图片
response = requests.get("https://github.com/favicon.ico")
with open('favicon.ico', 'wb') as f:
f.write(response.content) 例子:往请求链接中添加一些数据(data、headers、cookies、proxies...): import requests data = {'name': 'germey', 'age': ''}
cookie = {'key':'value'}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
proxies = {"http": "http://127.0.0.1:9743} requests.get(url='https://www.baidu.com/baidu', params={'wd': 'python',})
# 为url传递参数 https://www.baidu.com/baidu?wd=python response = requests.post(
"https://www.zhihu.com/explore",
data=data, # 如果传递的是string而不是dict,需要先调用dumps方法格式化一下
cookies=cookie,
headers=headers,
proxies=proxies)
print (response.headers.get('content-type')) #访问响应头部分内容

补:
    requests.get(url, allow_redirects=False)    # 不允许重定向,默认True
    # verify=False    # 关闭证书验证 其他操作 会话维持 cookie的一个作用就是可以用于模拟登陆,做会话维持 import requests session = requests.session()
session.get('http://httpbin.org/cookies/set/number/12456')
response = session.get('http://httpbin.org/cookies')
print(response.text) 代理设置 import requests proxies = {
"http": "http://127.0.0.1:9743", # 设置普通代理
"https": "https://127.0.0.1:9743", # 设置普通代理
"http": "http://user:password@127.0.0.1:9743/", # 设置用户名和密码代理
} response = requests.get("https://www.taobao.com", proxies=proxies)
print(response.status_code) 设置socks代理 安装socks模块 pip3 install 'requests[socks]' import requests
proxies = {
'http': 'socks5://127.0.0.1:9742',
'https': 'socks5://127.0.0.1:9742'
}
response = requests.get("https://www.taobao.com", proxies=proxies)
print(response.status_code) 超时设置 import requests from requests.exceptions import ReadTimeout
try:
response = requests.get("http://httpbin.org/get", timeout = 0.5)#设置秒数超时,仅对于连接有效
print(response.status_code)
except ReadTimeout:
print('Timeout') 获取cookie import requests response = requests.get("https://www.baidu.com")
print(response.cookies)
for key, value in response.cookies.items():
print(key + '=' + value) 文件上传 import requests files = {'file': open('favicon.ico', 'rb')}
response = requests.post("http://httpbin.org/post", files=files)
print(response.text) 认证设置 import requests
from requests.auth import HTTPBasicAuth r = requests.get('http://120.27.34.24:9001', auth=HTTPBasicAuth('user', '')) # r = requests.get('http://120.27.34.24:9001', auth=('user', '123'))
print(r.status_code) 关闭证书验证 import requests
response = requests.get('https://www.12306.cn',verify=False)
print(response.status_code) 消除验证证书的警报 from requests.packages import urllib3
import requests urllib3.disable_warnings()
response = requests.get('https://www.12306.cn',verify=False)
print(response.status_code) 手动设置证书 import requests response = requests.get('https://www.12306.cn', cert=('/path/server.crt', '/path/key'))
print(response.status_code) 异常处理 # RequestException继承IOError,
   # HTTPError,ConnectionError,Timeout继承RequestionException
   # ProxyError,SSLError继承ConnectionError
   # ReadTimeout继承Timeout异常 import requests
from requests.exceptions import ReadTimeout, ConnectionError, RequestException
try:
response = requests.get("http://httpbin.org/get", timeout = 0.5)
print(response.status_code)
except ReadTimeout:
print('Timeout')
except ConnectionError:
print('Connection error')
except RequestException:
print('Error') # RequestException # 发送一个模糊的异常
# ConnectionError # 发生连接错误时的异常
# HTTPError # 发生HTTP错误时的异常
# URLRequired # URL错误时的异常
# ConnectTimeout # 连接服务器是请求超时
# ReadTimeout # 服务器没有在指定的时间内发送数据
# Timeout # 请求超时

requests 模块笔记的更多相关文章

  1. Python requests模块学习笔记

    目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档   1.Requests模块说明 Requests 是使用 Apache2 Li ...

  2. python学习笔记(十八)网络编程之requests模块

    上篇博客中我们使用python自带的urllib模块去请求一个网站,或者接口,但是urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出 ...

  3. 爬虫学习笔记(三)requests模块使用

    前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...

  4. python学习笔记:网络请求——requests模块

    上面讲过的urllib模块太麻烦了,还有一个比较方便的模块,就是requests模块,好用到你怀疑人生·^_^,一定要会哦 需要安装,pip install requests即可,下面是request ...

  5. requests模块--python发送http请求

    requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...

  6. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  7. requests模块 简单使用

    目录 requests模块 简单使用 Anaconda简单了解 简单了解 requests模块 使用requests模块 爬取搜狗首页源码数据 实现一个简易的网页采集器 解决乱码问题 解决UA检测问题 ...

  8. 爬虫requests模块 1

    让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...

  9. requests 模块

    发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Gith ...

随机推荐

  1. 跟我一起玩Win32开发(2):完整的开发流程

    上一篇中我给各位说了一般人认为C++中较为难的东西——指针.其实对于C++,难点当然不局限在指针这玩意儿上,还有一些有趣的概念,如模板类.虚基类.纯虚函数等,这些都是概念性的东西,几乎每一本C++书上 ...

  2. SPFA/Dijkstra POJ 3013 Big Christmas Tree

    题目传送门 题意:找一棵树使得造价最少,造价为每个点的子节点造价和*边的造价和 分析:最短路跑出1根节点到每个点的最短边权值,然后每个点的权值*最短边距和就是答案,注意INF开足够大,n<=1特 ...

  3. linux查找命令(find)

    linux查找命令(find) 命令格式: find [目录] [选项] [选项的条件] 选项: -name:文件名称查找 -size:文件的大小来查找 -perm:文件的权限来查找 ①根据文件的名称 ...

  4. linux常用的shell命令

    1.shell介绍 shell(外壳)是linux系统的最外层,简单的说,它就是用户和操作系统之间的一个命令解释器. 2.shell命名的使用 ls :查看当前目录的信息,list .        ...

  5. IOS-关闭(退)键盘事件--转

    方法: 1.手势(触背景)关闭键盘 -(void)tapBackground //在ViewDidLoad中调用{    UITapGestureRecognizer * tap = [[UITapG ...

  6. MonoBehaviour生命周期

    MonoBehaviour生命周期 上图中重要的信息点很多,需要特别注意的是所有脚本的Awake方法都执行完才会执行Start,但是如果在Awake 中开启了一个协程这个协程中每一帧执行一些操作然后等 ...

  7. P2192 HXY玩卡片

    题目描述 HXY得到了一些卡片,这些卡片上标有数字0或5.现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被90整除这个条件.同时这个数不能含有前导0,即0不能作为这串数的首 ...

  8. Git之远程项目克隆到本地配置

    远程代码克隆到本地工作区,需要进行简单的配置,用于识别身份 1.git config --global user.name    [设置用户名,你的github用户名] 2.git config -- ...

  9. [ SNOI 2013 ] Quare

    Description 题目链接 求一张无向带权图的边双连通生成子图的最小代价. Solution 核心的思路是,一个点双连通分量肯定是一堆环的并. 考虑增量地构造这个边双连通图,每次把一个环并进去, ...

  10. android studio 生成 jniLibs 目录

    现在一般的项目都会加入第三方jar包,第三方jar包我们会新建一个文件夹:libs,然后jar包都放在这个文件夹中. 但我们会发现,只是新建一个文件加之后,在AndroidStudio的左侧并不会出现 ...