Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 5, 2014 10:41:48

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

url сайта

добрый день
как сделать чтобы выводил только url сайта
допустим есть переменная url

 url="https://www.google.ru/#q=python" 
а надо чтобы вывел только
https://www.google.ru/
или
 url="https://****/login.php?next=****" 
а надо чтобы вывел только
 https://****/ 
как сделать?

Отредактировано Egor2010 (Ноя. 5, 2014 10:44:09)

Офлайн

#2 Ноя. 5, 2014 11:26:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

url сайта

Через urllib.parse.urlsplit() можно разложить на составляющие.



Офлайн

#3 Ноя. 5, 2014 12:15:11

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

url сайта

new_url = ""
count = 0
for i in url:
    if count == 3:
        break
    if i == '/':
        count += 1
    new_url += i
или
>>> url="https://www.google.ru/#q=python"
>>> new_url = url[:url[9:].index('/')+10]
>>> print new_url
'https://www.google.ru/'



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Ноя. 5, 2014 12:20:51)

Офлайн

#4 Ноя. 5, 2014 12:37:36

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

url сайта

terabayt
Зачем вы учите человека изрващениям если ему уже указали стандартные средства?!



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Ноя. 5, 2014 12:45:18

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

url сайта

А стандартными функциями(модулями) нельзя?

Офлайн

#6 Ноя. 5, 2014 12:47:17

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

url сайта

PooH
я люблю “извращения”, зачем подключать модули, если можно одной строкой обойтись? как говорил Кен Томпсон “Нельзя доверять коду, который ты не полностью создал сам”. Я не говорю что нужно все писать самому, но зачем использовать библиотеку для того, что можно написать в одну строку?!
это же программирование - искусство!, а не тупое заучивание функций библиотек!



————————————————
-*- Simple is better than complex -*-

Офлайн

#7 Ноя. 5, 2014 12:48:36

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

url сайта

а если нету библиотек которые реализуют нужную функцию, то человек попадает в ступор.



————————————————
-*- Simple is better than complex -*-

Офлайн

#8 Ноя. 5, 2014 13:01:27

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

url сайта

terabayt
PooHя люблю “извращения”, зачем подключать модули, если можно одной строкой обойтись? как говорил Кен Томпсон “Нельзя доверять коду, который ты не полностью создал сам”. Я не говорю что нужно все писать самому, но зачем использовать библиотеку для того, что можно написать в одну строку?! это же программирование - искусство!, а не тупое заучивание функций библиотек!
Я тоже так думаю

Офлайн

#9 Ноя. 5, 2014 13:03:45

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

url сайта

>>> url="https://www.google.ru/#q=python"
>>> new_url = url[:url[9:].index('/')+10]
>>> print new_url
'https://www.google.ru/'
Можете объяснить код ?

Офлайн

#10 Ноя. 5, 2014 13:12:35

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

url сайта

new_url = срез url от начала до ( ищем символ "/" начиная с 9 символа в url + 10 (8 символов "https://" + последний слеш))
нет, извините, не могу объяснить. с опытом оно к вам придет.



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Ноя. 5, 2014 13:13:20)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version