requests库:
request():构造一个请求,支撑一下各方法的基础方法
get() :获取HTML网页的主要方法,对应HTTP的GET(params)
head() :获取HTML网页头信息的方法,对应HTTP的HEAD
post() :向HTML网页提交POST请求的方法,对应HTTP的POST(date,json)
put() :向HTML网页提交PUT请求的方法,对应HTTP的PUT(data)
patch() :向HTML网页提交局部修改请求,对应HTTP的PATCH(data)
delete() :向HTML网页提交删除请求,对应HTTP的DELETE
Response对象属性:
r.status_code:返回HTTP状态码
r.text:返回HTTP响应字符串形式
r.encoding:从HTTP header中猜测的响应内容编码方式
r,apparent_encoding:从内容中分析的响应内容编码方式(备选编码方式)
r.content:HTTP响应内容的二进制形式
r.raise_for_status():如果不是200,产生异常request.HTTPError
Requests库的异常:
request.ConnectionError:网络连接错误,如DNS查询失败、拒绝连接
request.HTTPError:HTTP错误异常
request.URLRequired:URL缺失异常
request.TooManyRedirects:超过最大重定向次数,产生重定向异常
request.ConnectTimeout:连接远程服务器超时异常
request.Timeout:请求URL超时
requests.request(method,url,**kwargs)
method:GET,POST
**kwargs:params,data,json,headers,cookies,auth(元组),files,timeout,proxies
allow_redirects,stream(获取内容立即下载),verify,cert
#网络爬取的代码框架
#一定使用try,except来进行预警
try:
r = request.get(url,timeout = 30) #常使用get()来爬取内容
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return “产生异常”