Python第三方库Request库(优点:简洁)
安装方法:cmd命令 pip install requests
Request库的7个主要方法
1、requests.request()
2、requests.get(): 常用,获取HTML网页的主要方法
3、requests.head(): 获取HTML网页头部信息的方法
4、requests.post(): 向HTML网页提交Post请求的方法
5、requests.put(): 向HTML网页提交Put请求的方法
6、requests.patch():向HTML网页提交局部修改请求的方法(优点:节省网络带宽)
7、requests.delete():删除响应资源。
r=requests.get(url,params,kwargs) (注:request.get()返回的是一个Response对象)
url:获取页面的url连接; param:url中的额外参数(可选); kwargs控制访问参数(12个);
r.status_code HTTP请求返回状态,200表示成功 |
r.text 返回url对应的页面内容 |
r.encoding 从header中猜测响应内容的编码方式。 |
r.apparent_encoding 从内容中分析出的编码方式(备选编码方式) |
r.content HTTP响应内容的二进制形式,一般用来还原图片。 |
异常 | 说明 |
requests.ConnectionError | 网络连接错误异常(DNS查询失败、拒绝连接) |
requests.HTTPError | HTTP错误异常 |
requests.URLRequired | URL缺失异常 |
requests.TooManyRedirects | 超过最大重定向次数,重定向异常 |
requests.ConnectTimeout | 连接远程服务器超时 |
requests.Timeout | URL请求超时 |
#爬取网页的通用代码框架
import requests
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status() #如果状态不是200,引发httperror异常
r.encoding=r.apparent_encoding
return r.text #返回url爬取内容
except:
return "error" #返回错误
URL格式:http://host [: port ] [ path ]。host:主机域名或者IP地址; port:端口号; path:请求资源路径;
Request库主要方法解析 :
requests.request(method,url,kwargs) method:请求方式(7种); url:页面url链接; kwargs:控制访问参数;
7种请求方式:get,head,post,put,patch,delete,options(前5种常用)
Robots协议:限制网络爬虫的页面爬取,一般在网站根目录下的robots.txt文件中。