———————requests———————#
一、requests是干嘛的
Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库
如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。
(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。
默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装
二、请求方式(最常见的get,post)
1、——————get基本使用————————#
1)基本使用 requests.get("url")
2) 带参使用
第一种方法 url后面跟?key=value&key=value(注意多参数的连接符&) requests.get("url?name=zhangfan&age=18")
第二种方法 利用get方法的可选参数###params###关键字params,params,params。是一个字典 data={"name":"zhangsan","age":18} requests("url",params=data)
定制hearders参数 xxx={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"}
requests.get("url",headers=xxx)
2#——————post基本使用——————
与get方法基本一致。不同的是在post方法中#关键字data#取代了get方法中的#params#。
三、返回结果都有什么属性,那些可用
1、————json———— #经常带有一些动态调用的数据信息 调用方法res.json(),然后通过res.json()["key"] 取得对应的信息
2、————text—————— #返回响应的主体信息,多为html代码。http请求返回的是一个response对象
3、————content————-- #获取二进制信息,比如爬取一个图片src requests.get("img_src").content》可以写入一个文件保存图片如下
res=requests.get("http://www.julongyoule.com/skin/images/banner2.jpg")
f=open("xxx.jpg","wb")
f.write(res.content)
4、—————cookies——————— #res.cookies 多用于模拟登陆,会话维持。 即是参数也是属性
cookies的作用主要是保存客户端的用户信息以及状态,在发送http请求时服务器会验证cookies信息的状态是否已登陆
通过requests.Session()对象,完成上下文的cookies传递,比如
s=requests.Session()
s.get("已登录页面") #自动的将cookies信息保存在这个s(也就是session对象中)
s.get("其他页面或未登录页面") #因为s对象中包含正确的cookies信息,所以可以可以通过,也就是以后再次请求http可以会话保持
如下:
s=requests.Session()
login_data={"mobile":'13733732911',"password":"qqq314159"}
s.post("http://www.dekeego.com/User/Login/index.html",data=login_data) #此时已经模拟登录成功
res=s.get("http://www.dekeego.com/User/User/index.html") #接下来在访问其他页面就可以保持登录状态
四、———————其他高级通用参数—————————
1、——————证书验证———https————— 直接get这一类的网站会但出一个错误信息并无法访问,关于这个有两个参数是关于这个证书验证的
1)verify=False 避开证书验证成功访问网站但会弹出一个警告信息
2)cert='证书路径' 通过cert参数传入证书路径 这是比较正统并老实的方法
2、————————代理设置———————— 作用是多次频繁的访问网站,避免被屏蔽,一个参数proxies 是一个字典,可设置多个代理ip,前缀一般为http或者https
proxies={
"http":"http://user:password@代理ip", #这种形式是你的代理需要账户和密码
"https":"代理ip"
}
3、—————超时设置————— 关键词timeout=3 大于多少秒还无响应就退出,timeout=none 就是一直访问
4、———————认证设置———————— 关键词auth={'user','123'} 暂时不知道什么卵用
requests的常用知识
最新推荐文章于 2024-05-21 09:51:42 发布