Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2014 02:48:10

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

Я скачал страничку с Wikipedia и с помощью re отобрал все ссылки
Потом перехожу по ним и выдает ошибку как от таких ссылок избавится ?
“/ads/1233” полного названия сайта нету
“//bits.wikimedia.org/favicon/wikipedia.ico” здесь тоже ошибка

Офлайн

#2 Ноя. 7, 2014 10:20:13

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Google chrome url

Проверяйте на наличие

'://'
в адресе

Отредактировано dimy44 (Ноя. 7, 2014 10:21:16)

Офлайн

#3 Ноя. 7, 2014 10:24:58

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

Допустим

url="Http://www.facebook.com/"
Как разделить url на основные части ?
Url1="http://"
Url2="www."
Url3="Facebook.com/"

Отредактировано Egor2010 (Ноя. 7, 2014 10:26:14)

Офлайн

#4 Ноя. 7, 2014 12:54:16

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Google chrome url

url = "Http://www.facebook.com/"
#url = "Http://facebook.com/"
if url.find('://') != -1:
    a, b = url.split('://')
    if b.lower().startswith('www.'):
        result = (a + '://', 'www.', b.split('/', 1)[0][4:] + '/')
    else:
        result = (a + '://', b.split('/', 1)[0] + '/')
    print(result)
else:
    print('Oops!')
не ахти красиво, но понятно

Отредактировано dimy44 (Ноя. 7, 2014 12:54:47)

Офлайн

#5 Ноя. 7, 2014 14:02:38

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

dimy44
можешь дописать если в url нет
http://(то есть ://)
чтобы он добовлял
http://

Отредактировано Egor2010 (Ноя. 25, 2014 13:52:13)

Офлайн

#6 Ноя. 7, 2014 17:40:43

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

это сам сделал

else:
url="http://"+url
a, b = url.split('://')
if b.lower().startswith('www.'):
result = (a + '://', 'www.', b.split('/', 1)[0][4:] + '/')
else:
result = (a + '://', b.split('/', 1)[0] + '/')
а вот как сделать чтобы он отбирал все что в конце, после / ?

Отредактировано Egor2010 (Ноя. 7, 2014 17:40:57)

Офлайн

#7 Ноя. 26, 2014 08:51:45

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

dimy44
url = "Http://www.facebook.com/"
#url = "Http://facebook.com/"
if url.find('://') != -1:
a, b = url.split('://')
if b.lower().startswith('www.'):
result = (a + '://', 'www.', b.split('/', 1)[0][4:] + '/')
else:
result = (a + '://', b.split('/', 1)[0] + '/')
print(result)
else:
print('Oops!')
Код работает только если url кончается на“/”, как сделать так чтобы работал и без“/” ?
Например
 url="https://www.google.ru/?newwindow=1&q=python"

Офлайн

#8 Ноя. 27, 2014 07:40:59

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Google chrome url

Код работает и без “/” в конце, только, видимо, выдает не то, что вам нужно на данный момент. Покажите, что вы хотите получить, на примере приведенного вами url.

Офлайн

#9 Ноя. 27, 2014 10:36:05

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Google chrome url

извините код немного до этого изменил

    if (url.find('://')!= -1):
url_a, url_b=url.split('://')
if url_b.lower().startswith('www.'):
result=(url_a+'://', 'www.', url_b.split('/', 1)[0][4:]+'/', url_b.split('/', 1)[1])
else:
result=(url_a+'://', 'www.', url_b.split('/', 1)[0]+'/', url_b.split('/', 1)[1])
else:
url="http://"+url
url_a, url_b=url.split('://')
if url_b.lower().startswith('www.'):
result=(url_a+'://', 'www.', url_b.split('/', 1)[0][4:]+'/', url_b.split('/', 1)[1])
else:
result=(url_a+'://', 'www.', url_b.split('/', 1)[0]+'/', url_b.split('/', 1)[1])
url=result[0]+result[1]+result[2]+result[3]
все заработало!
Спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version