一:requests库下载安装
fle->setttings->Project:pythonPro->python interpreter->点击+号->输入requests->点击install package 安装完成
二:requests中的方法
request()(下面六个方法都是调用该方法实现)
get():获取URL全部资源
head():获取该URL的头部信息
put():覆盖URL原来的资源
post():向URL位置的资源后附加新的数据(post字典,返回form)
patch():局部更新URL位置的资源
delete():请求删除URL位置存储的资源
三:方法详解:
get()方法:
最常用的是r=requests.get(URL)向浏览器提交一个request返回一个response对象。
get方法官方定义:
def get(url,params=None,**kwargs):
#sends a get request
kwargs.setdefault("allow_redirects",True)
return request("get",url,params,**kwargs)
python idle的测试结果
属性与说明:
当网络连接异常时:会出现异常,下面列举六种可能出现的异常:
requests.ConnectionError : 网络连接错误异常。eg:DNS查询失败、拒绝连接等
requests.HTTPError: HTTP错误异常(r.raise_for_status()方法,不是200,则返回该异常)
requests.URLRequired: URL缺失异常
requests.TooManyRedirects: 超过最大重定向次数,产生重定向异常
requests.ConnectionTimeOut:连接远程服务器超时异常(仅连接超时)
requests.TimeOut: 请求URL超时,产生超时异常(连接到返回超时)
爬取网页的通用代码框架:
def getHtmlText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()#如果状态码不是200,返回HTTPError异常
r.encoding=r.apparent_encoding
return r.text
except:
return "产生HTTPError异常"
if __name__=="__main__": #
url="http://www.baidu.com"
print(getHtmlText(url))
HTTP协议:
URL格式:http://host[:port][path] ,URL是通过HTTP协议存储资源的Internet路径
host:合法的主机域名或IP地址
port:端口号,缺省为80
path:请求资源的路径