首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python中规范化URL

在Python中规范化URL,可以使用第三方库urlparseurllib.parse。下面是一种使用这两个库的方法,可以将不规则的URL转换为规范的URL。

  1. 安装 urlparseurllib.parse 首先,我们需要先安装 urlparseurllib.parse 库。运行以下命令:pip install urlparse urllib.parse
  2. 规范化 URL 在 Python 中,可以通过执行以下代码来规范化 URL:import urlparse import urllib.parse

def normalize_url(url):

代码语言:txt
复制
   parsed_url = urlparse.urlparse(url)
代码语言:txt
复制
   scheme = parsed_url.scheme or ''
代码语言:txt
复制
   netloc = parsed_url.netloc or ''
代码语言:txt
复制
   path = parsed_url.path or '/'
代码语言:txt
复制
   query = urllib.parse.parse_qs(parsed_url.query or '')
代码语言:txt
复制
   fragment = parsed_url.fragment or ''
代码语言:txt
复制
   return scheme+'://'+netloc+'/'+path+('/'.join(query))+fragment

url = 'http://example.com/?bar=1#section1'

normalized_url = normalize_url(url)

print(normalized_url)

代码语言:txt
复制

输出会为:

代码语言:txt
复制

http://example.com/foo/bar?bar=1#section1

代码语言:txt
复制
  1. 解析 URL

如果只是要将一个 URL 解析成对应的参数,则可以使用 Python 内置模块 urllib.parse 中的 parse_qs 函数。例如以下代码展示了如何将上述的 normalized_url 解析成参数:

代码语言:txt
复制

import urllib.parse

def extract_query_params(normalized_url):

代码语言:txt
复制
   query_params = urllib.parse.parse_qs(normalized_url.query or '')
代码语言:txt
复制
   return query_params

query_params = extract_query_params(normalized_url)

print(query_params)

代码语言:txt
复制

结果将是:

代码语言:txt
复制

{'bar': '1'}

代码语言:txt
复制

综上所述,Python提供了多种方法可以在处理URL时对其进行规范化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在Python规范化和标准化时间序列数据

在本教程,您将了解如何使用Python对时间序列数据进行规范化和标准化。 完成本教程后,你将知道: 标准化的局限性和对使用标准化的数据的期望。 需要什么参数以及如何手动计算标准化和标准化值。...如何使用Python的scikit-learn来标准化和标准化你的时间序列数据。 让我们开始吧。...如何规范化和标准化Python的时间序列数据 最低每日温度数据集 这个数据集描述了澳大利亚墨尔本市十年(1981-1990)的最低日温度。 单位是摄氏度,有3650个观测值。...您了解了如何使用Python规范化和标准化时间序列数据。...如何使用Python的scikit-learn来规范化和标准化时间序列数据。 你有任何关于时间序列数据缩放或关于这个职位的问题吗? 在评论中提出您的问题,我会尽力来回答。

6.4K90
  • 何在keras添加自己的优化器(adam等)

    一般来说,完成tensorflow以及keras的配置后即可在tensorflow目录下的python目录中找到keras目录,以GPU为例keras在tensorflow下的根目录为C:\ProgramData...\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\python\keras 3、找到keras目录下的optimizers.py文件并添加自己的优化器...找到optimizers.py的adam等优化器类并在后面添加自己的优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己的优化器...(adam等)就是小编分享给大家的全部内容了,希望能给大家一个参考。

    45K30

    2023-06-11:redis,如何在100个亿URL快速判断某URL是否存在?

    2023-06-11:redis,如何在100个亿URL快速判断某URL是否存在?...答案2023-06-11: 传统数据结构的不足 当然有人会想,我直接将网页URL存入数据库进行查找不就好了,或者建立一个哈希表进行查找不就OK了。...如果整个网页黑名单系统包含100亿个网页URL,则简单的数据库查找操作将非常费时,并且如果每个URL空间为64B,则整个系统需要的内存空间将达到640GB,这对于一般的服务器来说是一个非常大的需求,难以实现...image.png 布隆过滤器的误判问题 Ø通过哈希计算得到的在数组上的位置并不一定代表元素真正存在于集合 Ø误判问题的本质是哈希冲突,即不同的元素可能哈希到相同的数组位置 Ø如果一个元素的哈希值不在数组...,则一定不存在于集合,但是如果哈希值在数组,则存在误判的概率(误判) image.png 优化方案 增大哈希数组的长度,使其能够容纳更多的元素。

    21410

    何在Fortran调用Python

    那么我们应该将基于Python的机器学习迁移到Fortran模型吗?数据科学领域可能会利用HTTP API(比如Flask)封装机器学习方法,但是HTTP在紧密耦合的系统(比如气候模式)效率太低。...Cython用于从Python调用C语言,但也可以实现从C调用Python。•基于CFFI。CFFI提供了非常方便的方法可以嵌入Python代码。...这将在Python中使用可导入的形式使用Python程序。在添加到Fortran之前,你也可以通过python -c "import my_module"测试一下。...这一部分,我们介绍了如何在Fortran嵌入Python代码块,以及如何传递数组给Fortran或从Fortran传递数组给Python。...为了解决频繁更改接口的问题,我们将fortran数据放到了Python模块的字典

    5.9K40

    【DB笔试面试511】如何在Oracle写操作系统文件,写日志?

    题目部分 如何在Oracle写操作系统文件,写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...image.png 其它常见问题如下表所示: 问题 答案 Oracle哪个包可以获取环境变量的值? 可以通过DBMS_SYSTEM.GET_ENV来获取环境变量的当前生效值。...在CLIENT_INFO列存放程序的客户端信息;MODULE列存放主程序名,包的名称;ACTION列存放程序包的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle写操作系统文件,写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

    28.8K30

    何在 Python 启动后台进程?

    在本文中,我们将探讨如何在Python启动后台进程,并介绍一些内置模块和第三方库来实现这一目标。图片同步 vs. 异步在开始之前,我们需要了解同步和异步编程的区别。...在Python,multiprocessing库可以用于启动多个进程并并发地处理任务。...案例3:长时间运行的任务有些任务需要较长的时间才能完成,爬取大量网页数据或训练复杂的机器学习模型。将这些任务放在后台进程运行可以确保主程序的响应性。...结论在本文中,我们讨论了如何在Python启动后台进程。...我们还介绍了进程间通信和数据共享的机制,队列和共享内存。在案例研究,我们探讨了几个实际应用场景,展示了如何使用后台进程来处理定时任务、并发处理和长时间运行的任务。

    1.5K40

    何在 Python 应用设计原则

    下面分别进行介绍,并展示如何在 Python 应用。...max is {np.max(list_)}") math_operations(list_ = [1,2,3,4,5]) # the mean is 3.0 # the max is 5 实际开发,...可复用,代码的任何部分都可以在代码的其他部分重用。 可测试,为代码的每个功能创建测试更容易。 但是要增加新功能,比如计算中位数,main 函数还是很难维护,因此还需要第二个原则:OCP。...也就是说 子类对象能够替换程序父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。...在平时的业务代码开发,高层模块依赖低层模块是没有任何问题的,但是在框架层面设计的时候,就要考虑通用性,高层应该依赖抽象的接口,低层应该实现对应的接口。如下图所示: ?

    98540

    何在Vscode安装Python

    何在vscode安装python库 1.已经在vscode中装了python并配置好python运行环境。...检查是否正确配置好运行环境,按Windows+R组合键在运行窗口输入cmd,打开命令提示符窗口输入python确定即可 2.找到vscodepython的路径 随便运行一个代码,例如print(“hehe...”)下面的终端显示如下 图中红色地方圈起的便是python的路径,到python3.8为止。...如果你所显示的内容与我不同,可在setting.json查找并将路径复制下来(在vscode配置过python环境的应该都可以找到) 3.正式开始 在vscode打开终端,点击View,在出现的选择栏中点击...Terminal(集成终端)即可打开 打开终端后,我们在终端中进入python安装目录下的Scripts文件夹:输入cd+格式+刚才复制的路径+\Scripts\ 确定之后若终端直接出现了文件夹Scripts

    2.4K10

    何在 Python 读取 .data 文件?

    在本文中,我们将学习什么是 .data 文件以及如何在 python 读取 .data 文件。 什么是 .data 文件? 创建.data文件是为了存储信息/数据。...话虽如此,以下是您在 Python 打开、读取和写入文件的方法 - 算法(步骤) 以下是执行所需任务要遵循的算法/步骤。...例 以下程序显示了如何在 Python 读取文本 .data 文件 - # opening the .data file in write mode datafile = open("tutorialspoint.data...话虽如此,以下是您在 Python 打开、读取和写入文件的方式 - 算法(步骤) 以下是执行所需任务要遵循的算法/步骤。...例 以下程序显示了如何在 Python 读取二进制 .data 文件 - # opening the .data file in write-binary mode datafile = open("

    5.8K30

    Python小姿势 - 如何在Python实现反射?

    何在Python实现反射? 在计算机编程,反射是一种能够让计算机程序在运行时自己编译和执行的能力。这种能力的引入使得计算机程序可以在运行时动态地获取、操作和修改它们自身的结构。...在Python实现反射主要使用内置模块: import inspect 使用inspect模块的基本步骤如下: 首先,我们需要导入inspect模块; 然后,我们就可以使用inspect模块的一些方法来获取对象的信息了.../usr/bin/python import inspect def foo(): pass print "foo's name:", foo.name print "foo's doc:", foo.doc...package': None, 'foo': <function foo at 0x02A66BF8, 'name': 'main', 'inspect': <module 'inspect' from 'C:\Python27...除了使用inspect模块来实现反射之外,还可以使用内置模块: import types 使用types模块的基本步骤如下: 首先,我们需要导入types模块; 然后,我们可以使用types模块的一些方法来获取对象的类型

    49010
    领券