2010-01-20 9 views
6

Estoy usando urllib.urlretrieve en Python para descargar sitios web. Aunque algunos sitios web parecen no querer que los descargue, a menos que tengan una referencia adecuada desde su propio sitio. ¿Alguien sabe de una forma en que puedo establecer una referencia en una de las bibliotecas de Python o una externa para.configuración URL de referencia en python urllib.urlretrieve

Respuesta

3

urllib hace que sea difícil enviar encabezados arbitrarios con la solicitud; puede usar urllib2, que le permite construir y enviar un objeto Request con encabezados arbitrarios (incluyendo, por supuesto, - lamentablemente deletreado ;-) - Referer). No ofrece urlretrieve, pero es fácil simplemente urlopen y copia el objeto similar al archivo resultante en el disco si lo desea (directamente, o por ejemplo, a través de las funciones shutil).

3

Además, el uso urllib2 con build_opener se puede hacer esto:

import urllib2 
opener = urllib2.build_opener() 
opener.addheaders = [('Referer', 'http://www.python.org/')] 
opener.open('http://www.example.com/') 
Cuestiones relacionadas