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 证书路径