挤爆胶囊,忻州实验中学网,大学挂科
`
属性 | 说明 |
---|---|
r.status_code | http请求返回的状态,200表示成功,404表示失败,还有其他的也代表失败 |
r.text | http响应内容转换成字符串格式 |
r.content | http响应内容转换成二进制格式 |
r.encoding | 从http header中猜测响应内容 |
r.apparent_encoding | 从内容中分析响应内容的编码方式(备选编码方式) |
r.encoding
与r.apparent_encoding
r.encoding:如果header中不存在charset,则默认编码为iso-8859-1
apparent_encoding比encoding更加准确的展示编码方式
异常 | 说明 |
---|---|
requests.connectionerror | 网络连接错误异常,如dns查询失败、拒绝连接等 |
requests.httperro | http错误异常 |
requests.urlrequired | url缺失异常 |
requests.toomanyredirects | 超过最大重定向次数,产生重定向异常 |
requests.connecttimeout | 连接远程服务器超时异常 |
requests.timeout | 请求url超时,产生超时异常 |
如果在r.status_code不是200时候,我们可以r.raise_for_status(),如果不是200,引发httperror异常
举例:通用爬取的框架
import requests def get_html_text(url): try: r =requests.get(url,timeout=30) r.raise_for_status() #如果不是200,引发httperror异常 r.encoding = r.apparent_encoding return r.text except: return '产生异常' if __name__ == '__main__' #在pycharm中你可以直接main+tab快速出这行 get_html_text(https://www.cnblogs.com/pythonywy)
http协议中6个方法 | 介绍 |
---|---|
get | 请求获取url位置的资源 |
head | 请求获取url位置的资源的响应报告,及获得头部信息 |
post | 请求获取url位置的资源后附加用户新的数据 |
put | 请求获取url位置储存一个资源,覆盖原url位置资源 |
patch | 请求局部更新url位置资源,及改变该处资源的部分内容 |
delete | 请求删除url位置储存的资源 |
获取云端资源用get,head
把自己资源放入云端用put post patch
删除现有资源del
用url对资源位置的定义
1.patch与put区别
patch可以对于局部修好,put是全部覆盖
requests与协议方法一一对应
方法 | 介绍 |
---|---|
requests.request() | 设置请求格式 |
requests.get() | 请求获取url位置的资源 |
requests.head() | 请求获取url位置的资源的响应报告,及获得头部信息 |
requests.post() | 请求获取url位置的资源后附加用户新的数据 |
requests.put() | 请求获取url位置储存一个资源,覆盖原url位置资源 |
requests.patch() | 请求局部更新url位置资源,及改变该处资源的部分内容 |
requests.delete() | 请求删除url位置储存的资源 |
params
:字典或字节序列,作为参数增加到链接中data
:字典,字节序列或文件对象,作为请求的内容json
:json格式的数据,作为request的内容headers
:字典,http定制头(模拟浏览器进行访问)cokies
:字典或cppliejar,request中的cookieauth
:元祖,支持http认证功能files
:字典类型,传输文件timeout
:设定超时时间,秒为单位proxies
:字典类型,设定访问代理服务器,可以增加登陆认证allow_redirects
:true//false,默认为true,重定向开关stream
:true/false,默认为true,获取内容立即下载开关verify
:true/false,默认为true,认证ssl证书开关cert
:本地ssl证书路径
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论