我有一个包含不同URL的python列表。我正在尝试从中提取域名。
list1 = ['wwww.google.com.my','www.yahoo.co.jp','www.facebook.com']
我正在尝试将上面的内容转换为最终输出如下:
list1 = ['www.google.com','www.yahoo.com','www.facebook.com']
答案 0 :(得分:1)
由.com
分割并与.com
串联,因为假定您希望它们都这样结束:
list1 = ['wwww.google.com.my','www.yahoo.co.jp','www.facebook.com']
print([e.split(".co")[0] + ".com" for e in list1])
输出:
['wwww.google.com', 'www.yahoo.com', 'www.facebook.com']
答案 1 :(得分:0)
假设您不想将.co
更改为.com
(为什么?),则可以尝试:
list2 = ['.'.join(url.split('.')[:3]) for url in list1]
答案 2 :(得分:0)
您可以使用正则表达式来解析输入并构建所需的实际结果。
例如,此正则表达式查找域并将其植入到www。域 .com模式中,还有很多其他可以使用的模式。
import re
list2 = [re.sub(r'w*\.?(\w+)\..*', r'www.\1.com', x) for x in list1]
答案 3 :(得分:0)
我在列表中添加了更多网址,以解决所有可能的类型,
list1 = ['wwww.google.com.my','www.yahoo.co.jp','www.facebook.com',
'https://stackoverflow.com/questions/','https://google.co.in',
'https://stackoverflow.co.uk/questions/','www.stackoverflow.co.uk/questions/']
代码如下,
new_list=[]
list1 = ['wwww.google.com.my','www.yahoo.co.jp','www.facebook.com',
'https://stackoverflow.com/questions/','https://google.co.in',
'https://stackoverflow.co.uk/questions/','www.stackoverflow.co.uk/questions/']
for item in list1:
if(item[:4]!='http'):
url1='www.'+item.split(".")[1]+'.com'
if(item.split('/')[0])==item:
new_list.append(url1)
else:
length=len(item.split('/'))
url2=''
for i in range(1,length):
url2=url2+'/'+item.split('/')[i]
url1=url1+url2
new_list.append(url1)
if(item[:4]=='http'):
url1='www.'+item.split('://')[1]
url1='www.'+url1.split('.')[1]+'.com'
if(item.split('/'))[2]==item[8:]:
new_list.append(url1)
else:
length=len(item.split('/'))
url2=''
for i in range(3,length):
url2=url2+'/'+item.split('/')[i]
url1=url1+url2
new_list.append(url1)
以上代码中的new_list
被视为输出,如下所示,
In [1]:new_list
Out[1]:
['www.google.com',
'www.yahoo.com',
'www.facebook.com',
'www.stackoverflow.com/questions/',
'www.google.com',
'www.stackoverflow.com/questions/',
'www.stackoverflow.com/questions/']
让我知道这对您是否足够!
编辑:由于这是一个基于特定用例的查询,因此没有通用的解决方案,因此,我没有解决使用.gov
或.edu
等的任何地址。这些用例可以根据需要附加到上面的代码中。
此外,这可能会更改地址,并向可能不全局存在的网站输出全局.com
网址。