[Python-es] obtener codigo html de una pagina de internet

Moises Brenes moises.brenes en gmail.com
Mar Mar 1 21:18:33 CET 2011


On 1 March 2011 14:08, (P en vel) <pdlopez en uci.cu> wrote:
> Este codigo me funciona para una pagina local, o que no requiera proxy.
>
> import urllib
> f = urllib.urlopen("http://intranet.hlg.uci.cu")
> data = f.read()
> f.close()
> print data
>
>
> Pero como yo me conecto a internet mediante un proxy trate con esto
>
> import urllib
> proxies = {'http': 'http://100.0.0.1:3128'}
> f = urllib.urlopen("http://www.google.com",proxies=proxies)
> data = f.read()
> f.close()
> print data
>
> y me da el siguiente error
> raceback (most recent call last):
>   File "/home/pavel/workspace/spider/src/prueba3.py", line 6, in <module>
>     f = urllib.urlopen("http://www.google.com",proxies=proxies)
>   File "/usr/lib/python2.6/urllib.py", line 86, in urlopen
>     return opener.open(url)
>   File "/usr/lib/python2.6/urllib.py", line 205, in open
>     return getattr(self, name)(url)
>   File "/usr/lib/python2.6/urllib.py", line 360, in open_http
>     return self.http_error(url, fp, errcode, errmsg, headers)
>   File "/usr/lib/python2.6/urllib.py", line 373, in http_error
>     result = method(url, fp, errcode, errmsg, headers)
>   File "/usr/lib/python2.6/urllib.py", line 703, in http_error_407
>     errcode, errmsg, headers)
>   File "/usr/lib/python2.6/urllib.py", line 383, in http_error_default
>     raise IOError, ('http error', errcode, errmsg, headers)
> IOError: ('http error', 407, 'Proxy Authentication Required',
> <httplib.HTTPMessage instance at 0x93f4e6c>)
>

usa urllib2 con el cual puedes agregar autenticacion:

http://www.wkoorts.com/wkblog/2008/10/27/python-proxy-client-connections-requiring-authentication-using-urllib2-proxyhandler/



-- 
http://blog.mbrenes.com
Debian debian.org - The Universal Operating System.

El individuo ha luchado siempre para no ser absorbido por la tribu.
Si lo intentas, a menudo estarás solo, y a veces asustado.
Pero ningún precio es demasiado alto por el privilegio de ser uno mismo

- Friedrich Nietzsche.


Más información sobre la lista de distribución Python-es