网络爬虫-----Requests库入门
发布日期:2021-05-14 16:07:50 浏览次数:20 分类:精选文章

本文共 2466 字,大约阅读时间需要 8 分钟。

#Requests库入门

##1. requests.get()使用

requests.get()requests 库中最常用的方法,用于发送 GET 请求。其基本语法如下:

requests.get(url)

###参数说明

  • url:需要获取的页面 URL 地址。
  • response对象的属性
    • r.encoding:如果 response 头部中没有 charset,则默认编码为 ISO-8859-1。
    • r.apparent_encoding:根据网页内容分析出的实际编码方式。
    • r.text:网页内容的文本形式。
    • r.content:网页内容的二进制形式。

###使用流程

  • 发送请求:
    response = requests.get(url)
  • 查看状态码:
    if response.status_code == 200:    # 获取网页内容    text = response.text    encoding = response.encoding    apparent_encoding = response.apparent_encoding    content = response.contentelse:    # 例如 404 或其他错误状态码    raise Exception("请求失败")
  • ##2. 常见异常类型`requests` 库定义了七种异常类,分别用于不同类型的错误处理:1. **HTTPError**:表示请求返回了非 2xx 状态码。2. **ConnectionError**:表示无法与服务器连接。3. **Timeout**:表示请求超时。4. **NotImplementedError**:用于未实现的异常。5. **ParseError**:表示解析错误。6. **RequestException**:请求过程中的异常。7. **URLError**:表示 URL 解析失败。##3. HTTP协议及 `requests` 库方法###HTTP协议- **URL 格式**:  ```http://host[:port][path]```  - **host**:合法的互联网主机名或 IP 地址。  - **port**:端口号,默认为 80。  - **path**:请求资源的路径。###`requests` 库的主要方法`requests` 库提供了多种方法来发送 HTTP 请求,常用的有 `get`、`post`、`put`、`delete` 等。####`requests.request(method, url, **kwargs)`- **method**:请求方法,例如 `GET`、`POST`、`PUT` 等。- **url**:请求的 URL 地址。- **kwargs**:可选参数,包括:  - **params**:字典或字节序列,作为 URL 参数。  - **data**:字典、字节序列或文件,作为请求内容。  - **json**:JSON 格式的数据,作为请求内容。  - **headers**:字典,用于定制 HTTP 头。  - **cookies**:字典或 CookieJar,用于管理 Cookie。  - **auth**:元组,用于 HTTP 认证。  - **files**:字典,用于上传文件。  - **timeout**:请求超时时间(秒)。  - **proxies**:字典,用于设置代理服务器。  - **allow_redirects**:布尔值,控制是否允许重定向。  - **stream**:布尔值,控制内容是否立即下载。  - **verify**:布尔值,控制 SSL 证书验证。  - **cert**:本地 SSL 证书路径。####`requests.get(url, params=None, **kwargs)`- **url**:请求的 URL 地址。- **params**:字典或字节序列,用于 URL 参数。- **kwargs**:可选参数,与 `requests.request` 相同。####`requests.head(url, **kwargs)`- **url**:请求的 URL 地址。- **kwargs**:可选参数,与 `requests.request` 相同。####`requests.post(url, data=None, json=None, **kwargs)`- **url**:请求的 URL 地址。- **data**:字典、字节序列或文件,作为请求内容。- **json**:JSON 格式数据,作为请求内容。- **kwargs**:可选参数,与 `requests.request` 相同。####`requests.put(url, data=None, **kwargs)`- **url**:请求的 URL 地址。- **data**:字典、字节序列或文件,作为请求内容。- **kwargs**:可选参数,与 `requests.request` 相同。####`requests.patch(url, data=None, **kwargs)`- **url**:请求的 URL 地址。- **data**:字典、字节序列或文件,作为请求内容。- **kwargs**:可选参数,与 `requests.request` 相同。####`requests.delete(url, **kwargs)`- **url**:请求的 URL 地址。- **kwargs**:可选参数,与 `requests.request` 相同。##内容参考- 使用 `requests.get()` 获取网页内容。- 理解 `requests` 库中的异常类型。- 学习 `requests` 库的多种请求方法。
    上一篇:使用matlab画可以旋转的太极图
    下一篇:再遇函数

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年05月01日 09时06分27秒