本文将使用实际的例子来解释Python的urlparse() 函数来解析和提取URL中的域名。我们还将讨论如何提高我们解析 URL 的能力和使用它们的不同组件。
用urlparse() 从 URL 中提取域名
urlparse() 方法是Python的urllib 模块的一部分,当你需要将URL拆分成不同的组件并将它们用于不同的目的时非常有用。让我们看一下这个例子:
from urllib.parse import urlparsecomponent = urlparse('http://www.google.com/doodles/mothers-day-2021-april-07')print(component)
在这个代码片断中,我们首先包含了urllib 模块中的库文件。然后,我们将一个URL传递给urlparse 函数。这个函数的返回值是一个对象,它就像一个数组,有六个元素,如下所示:
- scheme – 指定我们可以用来获取在线资源的协议,例如,HTTP/HTTPS 。
- netloc – net 表示网络,loc 表示位置;所以它表示URLs的网络位置。
- path – 一个网络浏览器用来访问所提供的资源的特定途径。
- params – 这些是path 元素的参数。
- query – 遵循path 组件和数据的蒸汽,一个资源可以使用。
- fragment – 它对部件进行分类。
当我们使用打印函数显示这个对象时,它将打印其组件的值。上述代码栅栏的输出将如下:
ParseResult(scheme='http', netloc='www.google.com', path='/doodles/mothers-day-2021-april-07', params='', query='', fragment='')
你可以从输出中看到,所有的URL组件都被分离出来,作为单独的元素存储在对象中。我们可以像这样通过使用其名称来获得任何组件的值:
from urllib.parse import urlparsedomain_name = urlparse('http://www.google.com/doodles/mothers-day-2021-april-07').netlocprint(domain_name)
使用netloc 组件,我们可以得到URL的域名,如下所示:
www.google.com
这样,我们可以得到我们的URL解析,并在我们的编程中使用其不同的组件来达到各种目的。