Я хочу извлечь названия веб-сайтов из URL-адреса. Например, https://plus.google.com/in/test.html должен выдать результат как - "плюс Google"

Еще несколько тестов -

  1. WWW.OH.MADISON.STORES.ADVANCEAUTOPARTS.COM/AUTO_PARTS_MADISON_OH_7402.HTML

Вывод: - OH MADISON STORES ADVANCEAUTOPARTS

  1. WWW.LQ.COM/LQ/PROPERTIES/PROPERTYPROFILE.DO?PROPID=6054

Выход: - LQ

  1. WWW.LOCATIONS.DENNYS.COM

Вывод: - РАСПОЛОЖЕНИЕ DENNYS

  1. WV.WESTON.STORES.ADVANCEAUTOPARTS.COM

Вывод: - WV WESTON STORES ADVANCEAUTOPARTS

  1. WOODYANDERSONFORDFAYETTEVILLE.NET/

Выход: - WOODYANDERSONFORFAYETTEVILLE

  1. WILMINGTONMAYFAIRETOWNCENTER.HGI.COM

Выход: - WILMINGTONMAYFAIRETOWNCENTER HGI

  1. WHITEHOUSEBLACKMARKET.COM/

Выход: - WHITEHOUSEBLACKMARKET

  1. WINGATEHOTELS.COM

Выход: - WINGATEHOTELS

string = str(input("Enter the url "))
new_list = list(string)
count=0
flag=0

if 'w' in new_list:
    index1 = new_list.index('w')
    new_list.pop(index1)
    count += 1
if 'w' in new_list:
    index2 = new_list.index('w')
    if index2 != -1 and index2 == index1:
        new_list.pop(index2)
        count += 1
if 'w' in new_list:
    index3= new_list.index('w')
    if index3!= -1 and index3== index2 and new_list[index3+1]=='.':
        new_list.pop(index3)
        count+=1      
        flag = 1
if flag == 0:
    start = string.find('/')
    start += 2
    end = string.rfind('.')

    new_string=string[start:end]
    print(new_string)
elif flag == 1:
    start = string.find('.')
    start = start + 1
    end = string.rfind('.')

    new_string=string[start:end]
    print(new_string)

Вышеуказанное работает для некоторых тестовых случаев, но не для всех. Пожалуйста, помогите мне с этим.

Благодарность

1
Anubhav Sarangi 14 Мар 2018 в 10:13

2 ответа

Лучший ответ

Функция убирает URL-адрес из двойной косой черты в одиночную косую черту: остальное «очищается»

def stripURL( url, TwoSlashes, OneSlash ):
    try:
        start = url.index(TwoSlashes) + len(TwoSlashes)
        end = url.index( OneSlash, start )
        return url[start:end]
    except ValueError:
        return ""
url= raw_input("URL : ")
if "www." in url:url=url.replace("www.","")
Strip = stripURL( url, "//", "/" )
# Strips anything after the last period found
Stripped = Strip[:Strip.rfind(".")]
# get rid of the any periods used in the name 
Stripped = Stripped.replace("."," ")
print Stripped
1
JackNorthrup 14 Мар 2018 в 08:34