python urllib模块使用操作方法

 更新时间:2025年08月11日 15:12:45   作者:高级测试工程师欧阳  
Python提供了多个库用于处理 URL,常用的有urllib、requests和 urlparse(Python 3 中为 urllib.parse),下面是这些库的主要功能和用法,感兴趣的朋友跟随小编一起看看吧

URL 处理库

Python 提供了多个库用于处理 URL,常用的有 urllibrequestsurlparse(Python 3 中为 urllib.parse)。以下是这些库的主要功能和用法。

urllib 模块

urllib 是 Python 的标准库之一,包含多个子模块用于处理 URL 相关操作:

from urllib.request import urlopen
from urllib.parse import urlparse, urljoin
# 打开 URL 并读取内容
response = urlopen('https://www.example.com')
content = response.read()
# 解析 URL
parsed_url = urlparse('https://www.example.com/path?query=123')
print(parsed_url.scheme)  # 'https'
print(parsed_url.netloc)  # 'www.example.com'
print(parsed_url.path)    # '/path'
print(parsed_url.query)   # 'query=123'
# 拼接 URL
base_url = 'https://www.example.com/path'
relative_url = 'subpath'
full_url = urljoin(base_url, relative_url)
print(full_url)  # 'https://www.example.com/subpath'

requests 库

requests 是第三方库,提供了更简洁的 API 用于发送 HTTP 请求和处理 URL:

import requests
# 发送 GET 请求
response = requests.get('https://www.example.com')
print(response.status_code)  # 200
print(response.text)         # HTML 内容
# 发送 POST 请求
data = {'key': 'value'}
response = requests.post('https://www.example.com/post', data=data)
# 处理 URL 参数
params = {'query': 'python', 'page': 1}
response = requests.get('https://www.example.com/search', params=params)
print(response.url)  # 'https://www.example.com/search?query=python&page=1'

urlparse 和 urljoin

urlparseurljoinurllib.parse 模块中的函数,专门用于解析和拼接 URL:

from urllib.parse import urlparse, urljoin
# 解析 URL
url = 'https://www.example.com:8080/path/to/page?query=python#section'
parsed = urlparse(url)
print(parsed.scheme)   # 'https'
print(parsed.netloc)   # 'www.example.com:8080'
print(parsed.path)     # '/path/to/page'
print(parsed.query)    # 'query=python'
print(parsed.fragment) # 'section'
# 拼接 URL
base = 'https://www.example.com/path/'
relative = 'subpath'
full_url = urljoin(base, relative)
print(full_url)  # 'https://www.example.com/path/subpath'

编码和解码 URL

URL 中的特殊字符需要进行编码和解码处理:

from urllib.parse import quote, unquote, urlencode
# 编码 URL
encoded = quote('python url example')
print(encoded)  # 'python%20url%20example'
# 解码 URL
decoded = unquote('python%20url%20example')
print(decoded)  # 'python url example'
# 编码查询参数
params = {'q': 'python url', 'page': 1}
encoded_params = urlencode(params)
print(encoded_params)  # 'q=python+url&page=1'

总结

Python 提供了多种工具用于处理 URL,包括标准库 urllib 和第三方库 requestsurllib.parse 模块适合解析和拼接 URL,而 requests 更适合发送 HTTP 请求和处理响应。根据具体需求选择合适的工具可以更高效地完成 URL 相关操作。

到此这篇关于python urllib模块使用操作方法的文章就介绍到这了,更多相关python urllib模块使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • keras CNN卷积核可视化,热度图教程

    keras CNN卷积核可视化,热度图教程

    这篇文章主要介绍了keras CNN卷积核可视化,热度图教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python在OpenCV里实现极坐标变换功能

    Python在OpenCV里实现极坐标变换功能

    这篇文章主要介绍了在OpenCV里实现极坐标变换功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python使用pygame创建精灵Sprite

    python使用pygame创建精灵Sprite

    这篇文章主要介绍了使用Pygame创建精灵Sprite,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python绘制词云图之可视化神器pyecharts

    Python绘制词云图之可视化神器pyecharts

    这篇文章主要介绍了Python绘制词云图之可视化神器pyecharts,文章围绕主题展开详细的相关内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Anaconda安装之后Spyder打不开解决办法(亲测有效!)

    Anaconda安装之后Spyder打不开解决办法(亲测有效!)

    这篇文章主要给大家介绍了关于Anaconda安装之后Spyder打不开解决办法,文中将解决的过程介绍的非常详细,亲测有效,对同样遇到这个问题的朋友具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04
  • Python读取CSV文件并计算某一列的均值和方差

    Python读取CSV文件并计算某一列的均值和方差

    这篇文章主要介绍了利用Python读取CSV文件并计算某一列的均值和方差,这里利用了csv模块来对文件进行处理,文章通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Python Flask实现快速构建Web应用的方法详解

    Python Flask实现快速构建Web应用的方法详解

    Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架,本文将和大家一起详细探讨一下Python Flask Web服务,需要的小伙伴可以学习一下
    2023-06-06
  • 使用python绘制常用的图表

    使用python绘制常用的图表

    本文给大家介绍的是如何使用Python根据Excel表格数据绘制不同的图表的方法,非常的详细,有相同需求的小伙伴可以参考下
    2016-08-08
  • 对django中render()与render_to_response()的区别详解

    对django中render()与render_to_response()的区别详解

    今天小编就为大家分享一篇对django中render()与render_to_response()的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python图片批量自动抠图去背景的代码详解

    Python图片批量自动抠图去背景的代码详解

    这篇文章主要介绍了Python图片批量自动抠图去背景,只要上传图片,就可以自动把背景去掉把目标对象抠出来,非常方便,对Python图片批量自动抠图去背景的代码感兴趣的朋友一起看看吧
    2022-03-03

最新评论