requests(第三方模块) 请求、登录、下载网页
import requests #http://docs.python-requests.org/en/latest/api/ 说明文档
'''
requests.request(method,url,**kwargs)
requests.head(url,**kwargs)
requests.get(url,params=None,**kwargs)
requests.post(url,data=None,json=None,**kwargs)
requests.put(url,data=None,**kwargs)
requests.patch(url,data=None,**kwargs)
requests.delete(url,**kwargs)
上述7种方法返回的都是(Requests.)Response对象
method~请求对象的方法,猜测可选值是head,get,post,put,patch,delete
url~请求对象的URL
以下的可选参数都可通过**kwargs字典参数传入
params~ Dictionary or bytes to be sent in the query(疑问) string for the Request
data~ 需要传入request中的(字典类型,元组构成的列表类型[(key,value)](will be form encoded),二进制类型或file-like类型的)对象
json~ 需要被传入request的json类型数据
header~随request传入的字典类型的HTTP Headers 数据
files~ 字典类型的数据形如{'name':file-like-objects}或{'name':file-tuple}进行各种编码形式的上传。file-tuple可以是一个两、三、四元素的元组
('filename',fileobj,'content_type',custom_headers),'content-type'是str类型的描述文本的格式的字符串。
custom_headers是一个字典类型的参数,包含一些需要被添加到文件上的额外的标题信息
auth~认证元组 to enable Basic/Digest/Custom HTTP Auth
timeout~(入参为浮点类型或元组类型),浮点类型的话表示多少秒后放弃等待接收服务器发送的数据,2元素的元组格式为(connect timeout,read timeout)
allow_redirects~(布尔类型入参)是否允许 重定向,默认为True (GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD)redirection
proxies~ 字典类型的URL代理映射协议 Dictionary mapping proctocol to the URL of the proxy
verify~ 布尔型数据,表示我们是否核实了服务器的TLS证书,或者字符串型数据,表示可链接到CA bundle的路径。默认值是True
stream~ 如果设置为False,response content 就会立即被下载
cert~ 如果是字符串就就是通往ssl client 某个文件的路径(.pem) 元组类型的话形如('cert','key')
'''
#Requests Exceptions
'''
requests.RequestException(*args,**kwargs) 包含大量的错误类型There was an ambiguous exception that occurred while handling your request.
requests.ConnectionError(*args,**kwargs) 连接类型的错误 A Connection error occurred
requests.HTTPError(*args,**kwargs) HTTP错误 An HTTP error occurred
requests.URLRequired(*args,**kwargs) 无效的URL地址 A valid URL is required to make a request
requests.TooManyRedirects(*args,**kwargs) 重定向太多次了 TOO many redirects
requests.ConnectTimeout(*args,**kwargs) 连接超时 Requests that produced this error are safe to retry
requests.ReadTimeout(*args,**kwargs) 服务器没有返回任何数据,在给定的时间里
requests.Timeout(*args,**kwargs) 请求超时,捕获该错误类型,ConnectTimeout和ReadTimeout类型的错误都会被捕获。
'''
#requests.Session类
#Cookie :当访问某个站点时,随某个HTML网页发送到你的浏览器中的一小段信息;网络跟踪器(记录上网用户信息的软件)
#session提供了持续的cookie(记录,用户追踪?),连接池(不懂什么意思),和配置信息
import requests
s=requests.Session()
s.get('http://httpbin.org/get')
#也可写成
with requests.Session() as s :
s.get('http://httpbin.org/get')
'''
auth=None Default Authentication tuple or object to attach to Request.
cert=None SSL client certificate default, if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
close() Closes all adapters(适配器?) and as such the session
cookies=None 包含session里设置的所有未完成的cookie。装cookie的容器。By default it is a RequestsCookieJar, but may be any other cookielib.CookieJar compatible object.
下面的方法同requests的方法,返回的都是requests.Response对象
{delete(url,**kwargs)
get(url,**kwargs)
head(url,**kwargs)
options(url,**kwargs)
post(url,data=None,json=None,**kwargs)
put(url,data=None,**kwargs)
request(method, url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=None, allow_redirects=True,
proxies=None, hooks=None, stream=None, verify=None, cert=None, json=None)比requests.request()多一个参数cookies
cookies ~ Dict or CookieJar Object to send with Request
}
send(request,**kwargs) 传递给一个准备好的request对象,返回类型requests.Response
stream=None Stream response content default.
trust_env=None 为代理配置信息标记的受信任设置,默认是认证的和熟悉的default authentication and similar
verify=None 默认SSL认证 SSL(Security Socket Layer 加密套接字协议层)
requests(第三方模块) 请求、登录、下载网页的更多相关文章
- Python-Windows下安装BeautifulSoup和requests第三方模块
http://blog.csdn.net/yannanxiu/article/details/50432498 首先给出官网地址: 1.Request官网 2.BeautifulSoup官网 我下载的 ...
- python接口测试中安装whl格式的requests第三方模块
下载 安装 requests第三方模块 下载:http://docs.python-requests.org/en/latest/user/install/#install 我下载是 https:// ...
- 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤
本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸 下面时具体的代码,已通过python3.6测试,可以成功运行: ...
- python安装requests第三方模块
2018-08-28 22:04:51 1 .下载到桌面后解压,放到python的目录下 ------------------------------------------------------- ...
- requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 一.下载 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/lates ...
- python基础-7模块,第三方模块安装方法,使用方法。sys.path os sys time datetime hashlib pickle json requests xml
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- Python基础之模块:5、 第三方模块 requests模块 openpyxl模块
目录 一.第三方模块的下载与使用 1.什么是第三方模块 2.如何安装第三方模块 方式一:pip工具 方式二:pycharm中下载 3.注意事项 1.报错并有警告信息 2.报错,提示关键字 3.报错,无 ...
- 第四十节,requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...
- 第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码
第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码 下载地址:https://github.com/mbi/django- ...
- python-day3爬虫基础之下载网页
今天主要学习了关于网页下载器的一些内容,下边做一下总结: 1.网页下载器,顾名思义,就是将URL所对应的网页以HTML的形式下载到本地,最终存储成本地文件或者还是本地内存字符串,然后进行后续的分析与处 ...
随机推荐
- ICO分享
- Linux下的常用指令汇总
内容提纲: 1.ubuntu安装 2.linux目录结构 3.apt.dpkg 4.date.cal.tzselect 5.修改密码.忘记密码 6.注销/重启/关机 7.cd pwd 8.-h --h ...
- IntelliJ IDEA的这些配置,你值得拥有
一.自动编译开关 二.忽略大小写开关 IDEA默认是匹配大小写,此开关如果未关.你输入字符一定要符合大小写.比如你敲string是不会出现代码提示或智能补充.但是,如果你开了这个开关,你无论输入Str ...
- codeforces708b// Recover the String //AIM Tech Round 3 (Div. 1)
题意:有一个01组成的串,告知所有长度为2的子序列中,即00,01,10,11,的个数a,b,c,d.输出一种可能的串. 先求串中0,1的数目x,y. 首先,如果00的个数a不是0的话,设串中有x个0 ...
- hdu-2639 Bone Collector II 背包第K优
http://acm.hdu.edu.cn/showproblem.php?pid=2639 在背包的基础上维护一个size<=K的最大值集合,为什么维护K个就好了呢,因为如果当前状态有多余K个 ...
- source code spark
http://blog.csdn.net/pelick/article/category/1556747 http://www.cnblogs.com/hseagle/
- 微信小程序 swiper 显示图片计数 当前/总数
<view class="swiperContainer"> <swiper bindchange="swiperChange" autopl ...
- 二叉搜索树BST(Binary Search Tree)
二叉搜索树(Binary Search Tree)也叫二叉排序树或二叉查找树.它满足以下性质: 1.非空左子树的所有键值小于其根结点的键值: 2.非空右子树的所有键值大于其根结点的键值: 3.左右子树 ...
- vscode插件之C/C++
目录 1.给C/C++调试器配置launch.json 2.配置VS Code的调试行为 3.配置目标应用 4.自定义GDB或者LLDB 5.调试dump(转储)文件 6.远程调试或者本地服务器上调试 ...
- Leetcode 129
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...