Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2014 15:19:43

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

Google chrome url

как сделать также как у google chrome ?
ввел к примеру только google.ru он исправляет на http://www.google.ru/
а если вводиш http://www.google.ru/ то он нечего не исправляет
или если вводиш www.google.ru то исправляет на http://www.google.ru/

Офлайн

#2 Ноя. 6, 2014 15:55:08

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

Google chrome url

Добавить схему просто, вам еще на первый такой вопрос посоветовали, воспользуйтесь urlparse из стандартной библиотеки. Разбираете url на части и если scheme пуста, ставите в нее ‘http’ и снова собираете урл.

А вот насчет замены “домен” на “www.домен”, то насколько я понимаю, тут только запросом на на сервер и если возвращается код 301 то меняем и запоминаем для себя. Без этого менять не получится, это могут быть и разные сайты.



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

Офлайн

#3 Ноя. 6, 2014 16:01:44

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

Google chrome url

PooH
Добавить схему просто, вам еще на первый такой вопрос посоветовали, воспользуйтесь urlparse из стандартной библиотеки. Разбираете url на части и если scheme пуста, ставите в нее ‘http’ и снова собираете урл.А вот насчет замены “домен” на “www.домен”, то насколько я понимаю, тут только запросом на на сервер и если возвращается код 301 то меняем и запоминаем для себя. Без этого менять не получится, это могут быть и разные сайты.
А без urlparse не как ?

Офлайн

#4 Ноя. 6, 2014 16:45:02

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

Google chrome url

def f(s):
    i = s.find("://")+1
    if not i:
        s = "http://" + s
        i += 6
    if not s[i+2:].find('/')+1:
        s += '/'
    return s
пример
a = ["http://www.google.com/",
     "http://www.google.com",
     "www.google.com/",
     "www.google.com",
     "http://www.google.com/ghsagfhashgf/sahgds",
     "www.google.com/ghdsghsd/hgagfsagf.hh",
     "https://www.google.com/",
     "https://www.google.com",
     "https://www.google.com/ghsagfhashgf/sahgds"]
for i in a:
    print f(i)
http://www.google.com/
http://www.google.com/
http://www.google.com/
http://www.google.com/
http://www.google.com/ghsagfhashgf/sahgds
http://www.google.com/ghdsghsd/hgagfsagf.hh
https://www.google.com/
https://www.google.com/
https://www.google.com/ghsagfhashgf/sahgds



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

Отредактировано terabayt (Ноя. 6, 2014 16:50:58)

Офлайн

#5 Ноя. 6, 2014 17:22:52

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

Google chrome url

terabayt
а как этот код использовать ?
допустим url=“google.ru”
и должен получиться url1
url1="http://www.google.ru/"

Офлайн

#6 Ноя. 6, 2014 17:26:45

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

Google chrome url

def f_url(s):
    i = s.find("://")+1
    if not i:
        s = "http://" + s
        i += 6
    if not s[i+2:].find('/')+1:
        s += '/'
    return s
url="google.ru"
url1 = f_url(url)
но получится http://google.com
как писал PooH
А вот насчет замены “домен” на “www.домен”, то насколько я понимаю, тут только запросом на на сервер и если возвращается код 301 то меняем и запоминаем для себя. Без этого менять не получится, это могут быть и разные сайты.



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

Отредактировано terabayt (Ноя. 6, 2014 17:29:47)

Офлайн

#7 Ноя. 6, 2014 17:38:24

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

Google chrome url

terabayt
Тоесть www.**** подставить не получится ?
Если возможности войти в интернет нет?

Отредактировано Egor2010 (Ноя. 18, 2014 16:57:47)

Офлайн

#8 Ноя. 6, 2014 18:05:54

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

Google chrome url

можно подставлять сразу www, но не факт что это будет правильный адрес.



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

Офлайн

#9 Ноя. 6, 2014 18:20:57

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

Google chrome url

Вот ошибка выполнения

>>> url="//bits.wikimedia.org/favicon/wikipedia.ico"
>>> f_url(url)
'http:////bits.wikimedia.org/favicon/wikipedia.ico'

Офлайн

#10 Ноя. 6, 2014 18:42:19

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

Google chrome url

а что должно быть? у меня firefox делает переадресацию на

file:////bits.wikimedia.org/favicon/wikipedia.ico



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

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version