Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Network
  • » как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли. [RSS Feed]

#1 Март 23, 2010 13:20:31

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

Всем привет!
если со страницы
http://www.gismeteo.ru/city/legacy/?city=4478&shift=2
открыть версию для печати
http://www.gismeteo.ru/ajax/print/4478/short/2
то все ок.
но если wget ом скачать
http://www.gismeteo.ru/ajax/print/4478/short/2
то получаю
Sorry, print page aviable only from gismeteo web-site!
Подскажите можно с помощью питона как то попробовать обойти такую проверку?
Можно ли в urllib2 указать адрес откуда пришли?
Или посоветуйте другой путь.
Всем спасибо



Офлайн

#2 Март 23, 2010 13:57:58

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

Я ща точно не скажу, но однозначно видел в википедии, что можно в заголовке HTTP указать откуда был переход (т.е. с gismeteo web-site в данном случае). Можно покопать в этом направлении



Офлайн

#3 Март 23, 2010 14:53:41

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

эээ… API у gismeteo.ru не хватает?
Отдает погоду в XML, сам этим пользуюсь…



Офлайн

#4 Март 23, 2010 16:01:52

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

qman
Можно ли в urllib2 указать адрес откуда пришли?
Это называется Referer и его надо добавлять в заголовок запроса. Смотрите в сторону urllib2.build_opener, addheaders.



Офлайн

#5 Март 23, 2010 18:13:39

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

dartNNN
И зачем я дурак на 3-ем питоне пишу?
да, кстати посвятите как там на третьем питоне работается?



Офлайн

#6 Март 23, 2010 18:19:14

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

igor.kaist
эээ… API у gismeteo.ru не хватает?
Отдает погоду в XML, сам этим пользуюсь…
спасибо за наводку на XML, но я раньше wget качал еще картинки! А в XML не нашел ссылок на картинки! Или я чего то не до понимаю.



Офлайн

#7 Март 23, 2010 18:53:00

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

qman
А в XML не нашел ссылок на картинки! Или я чего то не до понимаю.
ну обрабатывайте xml и делайте с данными все что хочется, можете и сами эти картинки нарисовать (с помощью PIL, например).



Офлайн

#8 Март 24, 2010 08:17:07

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

qman
да, кстати посвятите как там на третьем питоне работается?
Ну как сказать, многие вещи очень интересны и удобны.
Работа со строками (полный переход на юникод - путь в светлое будущее :))
По новому можно создавать словари. Не критично, но удобно.
Вобщем много мелочей, мне лично нравится, но вот с модулями проблема большая. Так под убунту так и не смог завести PyQt, про другие модули вообще молчу. Думал попробовать создание сайтов попрактиковать, посмотрел на Django, как на самый популярный вариант, а он только для второго питона. Вобщем грустно… Но к тому времни как более менее изучу питон, надеюсь ситуация уже изменится



Офлайн

#9 Март 26, 2010 12:29:17

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

Для тех кому интересно

import urllib2
proxy_support = urllib2.ProxyHandler({'http' : 'http://proxy:5865/'})
opener = urllib2.build_opener(proxy_support)
opener.addheaders = [('Referer', 'http://www.gismeteo.ru/')]



Отредактировано (Март 29, 2010 09:05:54)

Офлайн

#10 Март 29, 2010 13:03:15

w0id
От:
Зарегистрирован: 2010-03-29
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.

Или вот так:

import urllib2

req = urllib2.Request("http://www.gismeteo.ru/ajax/print/4478/short/2")
req.add_header("Referer", "http://www.gismeteo.ru/")
source = urllib2.urlopen(req).read()



Отредактировано (Март 29, 2010 13:06:22)

Офлайн

  • Начало
  • » Network
  • » как скачать страницу http://www.gismeteo.ru/ и указать откуда пришли.[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version