Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 23, 2008 00:29:24

plishas
От:
Зарегистрирован: 2008-11-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.urlopen не считывате одну страничку ...

import urllib
page=urllib.urlopen("http://aktien.onvista.de/realtimekurse.html?ID=LS_ENEXT")
print page.read()
выдает пустую строку, хотя с другими адресами работает



Офлайн

#2 Ноя. 23, 2008 01:55:51

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

urllib.urlopen не считывате одну страничку ...

я думаю, сервер хочет, чтоб ему передавали user-agent
это лучше делать с помощью urllib2:

import urllib2
req = urllib2.Request("http://aktien.onvista.de/realtimekurse.html?ID=LS_ENEXT", None, {'User-agent': 'Mozilla/5.0'})
page = urllib2.urlopen(req).read()
print page



Офлайн

#3 Ноя. 23, 2008 09:28:20

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

urllib.urlopen не считывате одну страничку ...

Посмотри, что выдает page.header()



Офлайн

#4 Ноя. 23, 2008 16:05:37

plishas
От:
Зарегистрирован: 2008-11-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.urlopen не считывате одну страничку ...

shiza
я думаю, сервер хочет, чтоб ему передавали user-agent
это лучше делать с помощью urllib2:
Спасибо! Пошло!
причем работает с любым именем агента…
в умной книжке написано:
По умолчанию используется строка ’Python-urllib/urllib_ver’, где urllib_ver — версия модуля
отсюда вопрос, почему просто urllib.urlopen не работает?

P.S.если кому интересно, нашел еще один вариант:
import httplib
httpconn = httplib.HTTPConnection("http://aktien.onvista.de")
httpconn.request("GET", "/realtimekurse.html?ID=LS_ENEXT")
resp = httpconn.getresponse()
resppage = resp.read()



Отредактировано (Ноя. 23, 2008 16:10:51)

Офлайн

#5 Ноя. 23, 2008 16:06:38

plishas
От:
Зарегистрирован: 2008-11-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.urlopen не считывате одну страничку ...

igor.kaist
Посмотри, что выдает page.header()
выдает ошибку:

AttributeError: addinfourl instance has no attribute ‘header’



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version