requests的常用知识

———————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'}  暂时不知道什么卵用
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值