写在最前的具体资料:
https://2.python-requests.org//zh_CN/latest/user/quickstart.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1183249464292448
http://cn.python-requests.org/zh_CN/latest/
以下为个人理解:
首先先列举一下requests库的方法,具体有.get() .head() .post() .put() .patch() .delete()。这些方法都是和HTTP协议的方法一一对应的。
get()方法可以获取全部资源,而head()方法仅仅是获取头部信息,post,put,patch方法可以将自己的资源放入url对应的位置上,delete()方法可以删掉这个url对应的现有资源
put和patch方法的区别是,put方法要把所有对应的资源全部提交一遍,而patch只需要提交需要修改的那个资源,而不需要像put一样提交所有对应的资源。post方法可以向服务器提交新增数据
request
requests库还有一种方法是request方法,即requests.request(method,url,**kwargs)。其中还有三个参数,method表示请求方法,对应HTTP协议的七种方法,url则对应的是url链接,即网址。**kwargs就是13种控制访问的参数,即
params(字典或者字节序列,可以作为参数添加到url中),
data(作为向服务提交数据时使用),
json(json格式的数据 ),
headers(可以用改字段来定义自己发起访问时http的头字段,可以用来模拟任何我们想模拟的浏览器向url发起请求),
cookies(用来解析http中的cookies),
auth(元组,支持http认证功能),
files(字典类型,传输文件时使用的字段),
proxies(字典类型,设定访问代理服务器,可以增加登录认证,可以有效的隐藏自己ip地址信息),
allow_redirects
stream(获取内容立即下载)
verify
cert(本地ssl证书路径)
timeout(超时)
request.get(url,parpams,**kwargs)与request相同 使用的最多也是最关键
request.head(url,**kwargs)同上
request.post(url,data,json,**kwargs)和request中相同
request.put(url,data,**kwargs)同上
request.petch(url,data,**kwargs)同
request.delete(url,**kwargs) 同上
代码框架
import requests
url = 'http://www.baidu.com'
try:
#模拟浏览器
kv = {'user-agent':'Mozilla/5.0'}
r = requests.get(url , headers = kv)
#状态码检查
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text)
except:
("爬取失败")