Requests 库
1.request主要方法:
#request方法
requests.request(method, url, **kwargs)
#head()方法
requests.head(url, **kwargs)
#get()方法
requests.get(url, params=None, **kwargs)
#post()方法
requests.post(url, data=None, json=None, **kwargs)
#put()方法
requests.put(url, data=None, **kwargs)
#patch()方法
requests.patch(url, data=None, **kwargs)
#delete方法
requests.delete(url, **kwargs)
**kwargs | 含义 |
---|---|
params | 可添加在url之中的查询字串 |
data | 字典或者元组[(key, value)];作为Request的内容 |
json | 作为Request内容的json data |
headers | HTTP定制头 |
cookies | Request中的cookie |
files | 传输文件 |
auth | 支持HTTP认证 |
timeout | 响应允许时间 |
allow_redirects | 重定向开关;默认为True |
proxies | 设置定向访问代理服务器 |
stream | 是否立即下载;默认为False |
cert | 本地SSL证书路径 |
————————————————————
2.requests.Response
r.Response | 含义 |
---|---|
r.status_code | 返回状态码;200表示成功 |
r.text | 网页内容 |
r.edcoding | 网页编码方式;如果header中不存在charset,则认为编码为ISO-8859-1 |
r.apparent_encoding | 内容编码方式 |
r.content | 响应内容的二进制形式 |
3.错误类型
- requests.ConnectionError: 连接错误
- requests.HTTPError : HTTP错误
- requests.URLRequired: URL缺失
- requests.TooManyRedirects:超过最大重定向次数
- requests.ConnectTimeout:远程服务器异常
- requests.Timeout:请求URL超时
4.简单范例
import requests
def getHTMLText(url):
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return(r.text)
except:
return('存在异常')
url='http:/www.baidu.com'
print(getHTMLText(url))
输出结果:
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su va
参考资料链接