python爬虫02-requests库使用01

发布时间:2024年01月14日

目录

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异常;

文章来源:https://blog.csdn.net/u013805267/article/details/135543187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。