Python - Ayuda guardar datos de una web en archivo

   
Vista:

Ayuda guardar datos de una web en archivo

Publicado por Jose (3 intervenciones) el 30/04/2015 12:56:33
Hola! Me estoy iniciando en Python y necesito saber como recoger los datos de una web y meterlos en un archivo, debe ser muy fácil, lo que estoy intentando es esto:

1
2
3
4
5
6
import urllib.request
 
fo_salida = open("prueba.txt", 'w')
pag = urllib.request.urlopen("http://url/")
for linea in pag.readlines():
    fo_salida.write()

¿Cómo le digo que me lo mande a la salida del archivo?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda guardar datos de una web en archivo

Publicado por xve (1235 intervenciones) el 30/04/2015 21:57:12
Hola Jose, no se bajo que sistema operatilo lo haces, pero creo que tienes varios errores... en Linux es así:

1
2
3
4
5
6
import urllib
 
fo_salida = open("prueba.txt", 'w')
pag = urllib.urlopen("http://www.lawebdelprogramador.com")
for linea in pag.readlines():
    fo_salida.write(linea)

Lo he probado y me he descargado la pagina inicial de la web del programador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda guardar datos de una web en archivo

Publicado por Jose (3 intervenciones) el 05/05/2015 09:46:23
Hola! Lo estoy haciendo en Windows 7. El error que me dá es este:

fo_salida.write(linea)
TypeError: must be str, not bytes

Process finished with exit code 1

No sé porque no sale la verdad. La salida de la página me la presenta en programa pero luego en el archivo no. Y si pongo ('linea') con comillas, me rellena el archivo con la palabra linea.

La librería urllib la tengo que poner con el request porque sino me da error también del urlopen.

Se te ocurre algo??
Donde este Linux....
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda guardar datos de una web en archivo

Publicado por xve (1235 intervenciones) el 05/05/2015 12:58:52
Hola Jose, has probado ha hacer un:
1
echo linea
haber que te muestra?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda guardar datos de una web en archivo

Publicado por Jose (3 intervenciones) el 11/05/2015 11:33:38
En todo caso un print y me da bien. A ver el si el objetivo que quiero hacer es pasarle un archivo con una lista de palabras que quiero que busque en unas páginas web que yo le indico y si coincide mandarme las url a un archivo. He hecho algo así pero de momento no me sale, que ves mal??

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import urllib.request
 
fo_entrada =open("lista.txt","r")
fo_salida=open("lista2.txt", "wt")
lista_palabras = []
for linea in fo_entrada.readlines():
    lista_palabras.append(linea.strip())
fo_entrada.close()
 
 
pagina= urllib.request.urlopen("url")
x = pagina.readlines()
 
 
 
res=[x for x in lista_palabras if x in pagina]
 
if res == lista_palabras:
 fo_salida.write(str(pagina))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar