我正在使用 python 并尝试获取网址的特定部分,如下所示
from urlparse import urlparse as ue
url = "https://www.google.co.in"
img_url = ue(url).hostname
结果
www.google.co.in
案例1:
实际上我会有很多网址(存储在列表或其他地方),所以我想要的是,需要在网址中找到上面的域名
并获取该部分在 www.
之后和 .co.in
之前,即字符串在 第一个点
之后和 第二个点
之前开始在目前的情况下,这只会导致 google
。
因此,假设给定的网址是 www.gmail.com
,我应该只获取其中的 gmail
,所以无论给出什么网址,代码都应该获取以第一个点开头和第二个点之前的部分。
情况2:
还有一些网址可以像这样直接给出 domain.com, stackoverflow.com
,而网址中没有 www
,在这种情况下,它应该只获取 stackoverflow
和域
。
最后我的目的是从gmail、stackoverflow、google
这样的url中获取主要名称......
一般来说,如果我有一个网址,我可以使用列表切片
并获取字符串,但我会有许多 ulrs,因此需要像上面提到的那样动态获取想要的部分
谁能告诉我如何满足上述概念?
最佳答案
为什么你不能这样做:
from urlparse import urlparse as ue
urls = ['https://www.google.com', 'http://stackoverflow.com']
parsed = []
for url in urls:
decoded = ue(url).hostname
if decoded.startswith('www.'):
decoded = ".".join(decoded.split('.')[1:])
parsed.append(decoded.split('.')[0])
#parsed is now your parsed list of hostnames
此外,您可能想要更改 for 循环中的 if 语句,因为某些域可能以您想要删除的其他内容开头。
关于python - 在python中获取url的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017358/