【发布时间】:2021-03-24 16:28:58
【问题描述】:
我一直在寻找一种从 URL 解析域的方法。有很多图书馆,但我还没有找到一个完整的。我目前正在使用urllib.parse。在解析带有破折号 (-) 的域时,它不会返回任何内容。还有其他我应该考虑使用的选项吗?
例子:
from urllib.parse import urlparse
print(urlparse("www.bax-shop.nl/muziekwinkel-goes").netloc)
输出:
Process finished with exit code 0
编辑:
它似乎与 URL 前面的 https:// 一起使用。我觉得有点奇怪。
【问题讨论】:
-
如果你为其提供方案/协议类型,它将很好地解析
urlparse("http://www.bax-shop.nl/muziekwinkel-goes") -
@ChrisDoyle 的问题是它解析了几百万个有和没有 https 的 URL。我可以添加某种参数吗?
-
那么它们不是真正的 URL,URL 有一个规范
<scheme>:<scheme-specific-part>所以如果你的数据没有像http://https://ftp://这样的架构,那么你将无法解析它们与 urlparse 一起使用,因为它们不是有效的 url。您可以添加一些代码来说明它没有架构,只需在前面加上http://然后将其提供给 url 解析