python爬虫学习13
-
requests 库
之前我们学习了python内置的urllib库的基本用法,其中有很很多不方便的地方,例如处理网页验证和cookies时,需要写Opener和Handler来处理。另外,实现POST与PUT等请求时也不太方便。
所以我们今天来学习工能更加强大的requests库。
-
requests 库的安装
或者使用源码安装:
# 访问镜像站 # 下载文件到本地后,解压到python安装目录,之后打开解压文件 # 运行命令行 输入 pythton setup.py install
-
实例引入
# urllib 库中的 urlopen方法实际上使用的就是Get方式请求网页,在requests库中,与之相对应的就是 get()方法。 import requests r = requests.get('http://www.baidu.com') print(type(r)) # 可以看到返回了一个 requests.models.Response 类 print(r.status_code) # 返回 响应码 可以看到响应码为 200(响应成功) print(r.cookies) # 返回 cookie 格式为 RequestsCookieJar 类 print(r.text) # 返回响应内容 格式为 str字符串类型
运行结果:
-
其中的一些常用方法
相对而言,我们最最常用的方法是 get()和post(),分别用于发送GET请求与POST请求
import requests req0 = requests.get('http://www.baidu.com') req1 = requests.post('http://www.baidu.com') req2 = requests.put('http://www.baidu.com') req3 = requests.delete('http://www.baidu.com') print(req0.status_code,req1.status_code,req2.status_code,req3.status_code,sep='\n')
运行结果:
-
Response对象的常用属性
import requests url = 'http://www.baidu.com' resp = requests.get(url) # 设置编码格式 resp.encoding = 'utf-8' # 获取相关信息 cookie = resp.cookies headers = resp.headers print(cookie, headers, sep='\n')
运行结果:
-
今日结束,未完待续…