1.Requests库的七个主要方法
requests.request() //构造一个请求,支撑一下各个方法的基础方法
requests.get()//获取html网页的主要方法,对应的http的get
requests.head()//获取html网页的头信息,对应http里的head
requests.post()//向html网页中提交post的请求方法,对应于http的post
requests.put()//向html网页中提交put的请求方法,对应于http的put
request.patch()//向html网页中提交局部修改请求,对应于http的patch
request.delete()//向html网页提交删除请求,对应于http的delete
最简单的获取信息方式, r=requests.get(url),url常见的就是http://www.baidu.com
requests返回一个包含服务器的资源的Response对象,get构造一个向服务器请求的Request对象
HTTP状态码的英文为HTTP Status Code
(1)requests.get(url,params=None,..kwargs)
url:获取页面链接
params:url中的额外参数,字典或者字节流格式,可选择
**kwargs:12个控制访问参数
【1】response对象的属性
r.status_code http请求的返回状态,200表示成功,404表示失败
r.text http响应的的字符串形式,即是url对应的页面的内容
r.encoding 从http header中猜测的响应的编码形式,常用的是utf-8
r.apparent_encoding 从内容中解析出来的响应内容的编码(备选编码形式)
r.content http响应内容的二进制格式
爬取网页基础框架:
import requests
def getHTMLText(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "Something Wrong!!!"
requests.ConnectionError:网络连接失败
requests.HTTPError :http错误异常
requests.URL.required url缺失异常
Requsets.ToomanyRedirects 超出最大重定向次数,产生定向异常
requests.connectTimeout 连接服务器超时异常
requests.Timeout 请求url超时,产生超时异常
r.rasie_for_status() 如果不是200,产生异常requests.HTTPError