request库—总结

 

import requests as rq

requests库主要方法:
rq.request()                  构造一个请求,支撑以下各方法的基础方法
rq.get(url)                   获取HTML网页,对应HTTP的GET
rq.head()                     获取HTML网页头信息,对应HTTP的HEAD
rq.post()                     向HTML网页提交POST请求,对应HTTP的POST
rq.put()                      向HTML网页提交PUT请求,对应HTTP的PUT
rq.patch()                    向HTML网页提交局部修改请求,对应HTTP的PATCH
rq.delete()                   向HTML页面提交删除请求,对应HTTP的DELETE 

requests库的异常:
rq.ConnectionError                网络连接错误异常,如DNS查询失败、拒绝连接等
rq.HTTPError                      HTTP错误异常
rq.URLRequired                    URL缺失异常
rq.TooManyRedirects               超过最大重定向次数,产生重定向异常
rq.ConnectTimeout                 连接远程服务器超时异常
rq.Timeout                        请求URL超时,产生超时异常 

r = rq.get(url)                     # r为Response对象,包含服务器返回的所有信息,也包含请求的Request信息 

Response对象的属性:
r.status_code                    HTTP请求的返回状态,200表示连接成功,404表示失败
r.text                           HTTP响应内容的字符串形式,即url对应的页面内容
r.encoding                       从HTTP header中猜测的响应内容编码方式,如果header中不存在charset,则认为编码为ISO‐8859‐1
r.apparent_encoding              从内容中分析出的响应内容编码方式(备选编码方式)
r.content                        HTTP响应内容的二进制形式  
  
Response异常:
r.raise_for_status()             在方法内部判断r.status_code是否等于200,不是200则产生rq.HTTPError异常


爬取网页代码框架:
import requests as rq
def getHTMLText():
    try:
        r = rq.get (url)
        r.raise_for_status ()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常”

if  __name__== ”__main__”:
    url = "http://www.baidu.com"
    print(getHTMLText(url))

访问控制参数:
params                  字典或字节序列,作为参数增加到 url 中
data                    字典、字字节序列或文件对象,作为 Request 的内谷
json                    JSON 格式的数据,作为 Request 的内容
headers                 字典, HTTP 定制头
cookies                 字典或 CookieJar ,  Request 中的 cookie
auth                    元组,支持 HTTP 认证功能
files                   字典类型,传输文件
timeout                 设定超时时间,秒为单位
proxies                 字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects         BOOL类型,默认为 True ,重定向开关
stream                  BOOL类型,默认为 True ,获取内容立即下载开关
verify                  BOOL类型,默认为 True ,认证 SSL 证书开关
cert                    本地 SSL 证书路径

  

posted @ 2018-08-15 09:49  todaynowind  阅读(338)  评论(0编辑  收藏  举报