Python3 urllib模块

urllib 是 Python 的一个内置库,用于处理 URL。它提供了一系列模块来帮助开发者更轻松地处理网络请求。这个模块包含以下子模块:

  • urllib.request:用于打开和读取 URL。
  • urllib.parse:用于解析 URL。
  • urllib.error:包含由 urllib.request 抛出的异常类。
  • urllib.robotparser:用于解析 robots.txt 文件。

urllib.request 模块

使用 urlopen 打开 URL

urllib.request.urlopen() 函数用于打开一个指定的 URL,并返回一个类似文件的对象。如果成功打开 URL,则返回一个对象,该对象具有 read()、readline()、readlines()、close() 和 fileno() 方法。

自定义请求头

有时需要发送带有自定义头部信息的请求。可以通过构造 Request 对象来实现这一点。

-- -------------------- ---- -------
------ --------------

--- - --------------------------
------- - -
    ------------- ------------ -------- -- ----- ------ ---- ------------------ ------- ---- ------ -------------------- --------------
-
--- - --------------------------- ----------------
-------- - ---------------------------
--------------------------------------
展开代码

处理 HTTP 错误

当访问的 URL 返回错误代码时,urlopen() 将抛出一个 HTTPError 异常。可以捕获这些异常并进行相应的处理。

-- -------------------- ---- -------
------ --------------
------ ------------

----
    -------- - -------------------------------------------------- -----------
------ ---------------------- -- --
    ------------- ---------
------ --------------------- -- --
    ---------------
-----
    ----------------------
展开代码

设置超时时间

为了防止请求挂起,可以设置一个超时时间。超时时间单位为秒。

urllib.parse 模块

解析 URL

urllib.parse.urlparse() 函数用于将 URL 字符串解析为一个 ParseResult 对象,该对象包含多个部分,如 scheme、netloc、path、params、query 和 fragment。

-- -------------------- ---- -------
---- ------------ ------ --------

--- - -------------------------------------------------------------------
---------- - -------------
------------------------  - --- -----
------------------------  - --- ---------------
----------------------   - --- -----
-----------------------  - --- ---------------------------
--------------------------  - --- --------
展开代码

构造 URL

urllib.parse.urlunparse() 函数用于将 ParseResult 对象重新组合成 URL 字符串。

URL 编码和解码

urllib.parse.quote()urllib.parse.unquote() 分别用于对 URL 中的特殊字符进行编码和解码。

urllib.error 模块

异常处理

urllib.error 模块包含了由 urllib.request 抛出的异常类。最常用的两个异常是 URLErrorHTTPError

-- -------------------- ---- -------
------ --------------
------ ------------

----
    -------- - -------------------------------------------------- -----------
------ ---------------------- -- --
    ------------- ---------
------ --------------------- -- --
    ---------------
展开代码

URLError

URLError 是一个基类,用于表示 URL 请求失败的各种原因。它通常会附带一个错误原因字符串。

HTTPError

HTTPErrorURLError 的子类,专门用于处理 HTTP 请求返回的错误代码。除了继承 URLError 的属性外,它还具有 codereasonheaders 属性。

以上就是 Python3 urllib 模块的基本使用方法。通过这些示例,您可以开始使用 urllib 来处理网络请求了。希望本章内容能帮助您更好地理解和运用 urllib 模块。

纠错
反馈

纠错反馈