*Requests库的安装
- 打开cmd控制台
- pip install requests
* requests库的get()方法
r = requests.get(url)
r 是返回的一个Response对象
检测是否安装成功的方法
import requests
r=requests.get("http://www.baidu.com")
print(r.status_code)
要是返回的状态码是200,则说明访问成功
Response对象的属性
r.status_code ---> http请求的返回状态,200表示连接成功,404表示连接失败
r.text --->http响应内容的字符串形式,即网络页面的内容
r.encoding --->从HTTP header中获取响应内容的编码方式
r.appearent_encoding ---> 从内容中分析出响应内容的编码方式
* 爬取网页的通用代码框架
加入了网络异常处理的部分,使代码更加完善
Requests库的异常有以下几个
requests.ConnectionError --->网络连接异常,如DNS查询失败,拒绝连接等
requests.HTTPError --->HTTP错误异常
requests.URLRequired --->URL缺失异常
requests.TooManyRedirects --->超过最大重定向次数,产生定向异常
requests.ConnectTimeout --->连接远程服务器超时异常
requests.Timeout --->请求URL超时,产生超时异常
一个常用的方法:r.raise_for_status() --->如果状态码不是200,则产生requests.HTTPError异常
代码框架如下:
def getHTMLText(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.textexcept:
return "产生异常"
''' python
'''
*HTTP协议(超文本传输协议)
http协议采用url作为定位网络资源的标识
URL格式:http://host[:port][path]
host: 合法的Internet主机域名或者IP地址
port: 端口号,缺省为80
path: 请求资源的路径
注:理解PATCH与PUT的区别
*Requests库主要方法的解析
-
request方法
requests.request(method,url,**kwargs)
method:请求方式,对应get/put/post等7钟
url:要获取的页面的url链接
**kwargs:控制访问的参数,共13个
**kwargs参数解析(访问控制参数,均为可选参数)
params:字典或字节序列,作为参数增加到url中
data:字典,字节序列或文件对象,作为Request的内容
json:JSON格式的数据,作为Request的内容
headers:字典,HTTP定制头
cookies: 字典或CookieJar
auth: 元组,支持HTTP认证功能
files:字典类型,传输文件
timeout:设定超时实践,秒为单位
proxies:字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects:True/False,默认为True,重定向开关
stream:True/False,默认为True,获取内容立即下载开关
verify:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径