python爬虫02-requests库使用01

目录

1、requests库简介

2、requests库-安装

3、requests库-使用

3.1 导入模块

3.2 发送请求

3.3 requests库常用方法

3.4 访问控制参数kwargs

 4、请求返回对象 Response

5、requests访问时的可能异常

1、requests库简介

  • requests是一个http的第三方请求库,发送http请求,并获取响应结果;

2、requests库-安装

pip install requests
#使用清华园镜像安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

3、requests库-使用

3.1 导入模块

import requests

3.2 发送请求
import requests  # 安装好requests后,导入模块
url = 'https://www.baidu.com'
headers = {'content': 'text/html;charset=utf-8'}
resp = requests.get(url, headers)
print(resp)  # <Response [200]>  代表OK
resp.encoding = 'utf-8' # 定义响应对象的编码
print(resp.text)# 打印网页数据
resp.close()  # 爬完数据,请务必要关闭
3.3 requests库常用方法
方法作用
requests.request(method,url,**kwargs)

创建和发送一个请求,通用方案

requests.get()发送get请求,对应http的get方法
requests.post()发送post请求,对应http的post方法
requests.head()        获取网页的头信息,对应http的HEAD方法
3.4 访问控制参数kwargs

resp = requests.request('get',url, **kwargs)

kwargs参数作用
params字典类型,作为参数增加到url ; get方法参数传递
data

字典 / 字节序列 / 文件对象,作为Requests对象的内容;

post方法参数传递;

json

json格式的数据,作为Requests的内容;

前后端分离以json参数上传数据;

headers                字典类型,HTTP定制头,例如设置User-Agent;
cookies        字典或者CookieJar,Request中的cookie
auth元组,支持HTTP认证功能;
files传输文件,字典类型; key:参数名,value:文件对象;
timeout设定超时事件,单位为秒;
proxies字典类型,设定访问代理服务器;
allow_redirects是否允许重定向,默认:True;
stream

是否以字节流形式获取内容并下载;

下载文件时候使用;

verify是否验证SSL证书,默认为True;
cert本地SSL证书路径;

 4、请求返回对象 Response

resp = requests.request('get',url, **kwargs);

 resp:响应对象,一个包含服务器资源的响应对象;

属性作用
resp.request获取Http请求对象  ;返回: <PreparedRequest [GET]>
resp.status_codehttp请求返回状态码 ; 200表示成功;
resp.texthttp响应的字符串形式;                                           
resp.contenthttp响应的二进制形式;例如:图片,音频,视频等;
resp.encoding从http的header中响应编码方法;
resp.apparent_encoding从内容中分析响应内容编码方式;(备选编码方式)
方法作用
resp.raise_for_status()该方法内部判断resp.status_code == 200,不等则抛异常
resp.json()

得到对应的json格式数据; 

补充:Python有json模块,可以实现字符串和json的转换;

注意:★★★★★

  • encoding属性: 如果header中不存在charset,则认为是ISO-8859-1编码;
  • text属性:根据encoding属性的编码方式显示网页内容;
  • 当编码方式不一致,可能会出现乱码;
  • apparent_encoding属性:是根据网页内容分析出的编码方式;看做encoding属性的备选;

5、requests访问时的可能异常

异常说明
requests.ConnectionError网络连接异常,如:拒绝连接,DNS查询失败等
requests.HTTPError        http错误异常
requests.URLRequiredURL缺失异常
requests.ToolManyRedirects超过最大重定向次数,产生重定向异常
requests.ConnectTimeout连接远程服务器超时异常
requests.Timeout请求URL超时,产生超时异常

response对象提供了一个raise_for_status()方法,该方法内部对status_code进行判断,如果状态码不是200 ,则抛出HttpError异常;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值