Python - No puedo extraer codigo fuente de un url en Python

   
Vista:

No puedo extraer codigo fuente de un url en Python

Publicado por Bango (7 intervenciones) el 05/07/2015 16:14:24
Hola a tad@s,

Soy novato en programación en Python, y estoy intentado conseguir datos de una pagina web, pongo un ejemplo que esta en youtube, a mi no me sale,

1
2
3
4
5
6
7
8
9
10
11
12
13
import urllib.request
import re
 
url = "http://finance.yahoo.com/q?s=aapl&ql=1"
htmltext = urllib.request.urlopen(url)
htmltext = htmltext.read()
htmltext = htmltext.decode("utf")
print(htmltext) --> aqui sale la mitad del codigo fuente
regex = '<span id=\"yfs_184_aapl\">(.+?)<\span>'
pattern = re.compile(regex)
price = re.findall(pattern, htmltext)
 
print(price) --> [ ]

Porfavor si me pueden ayudar de resolver pq no me sale todo el codigo fuente.
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

No puedo extraer codigo fuente de un url en Python

Publicado por xve (1231 intervenciones) el 05/07/2015 19:15:48
Hola Bango, he revisado la pagina a la que haces referencia, y no existe el id que estas buscando!!!

No puedo probar tu ejemplo, ya que no dispongo de la versión 3 de urllib y funciona diferente.

Si pones un id correcto, tendría que funcionar-te.
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

No puedo extraer codigo fuente de un url en Python

Publicado por Bango (7 intervenciones) el 05/07/2015 19:44:16
Si que hay en el codigo fuente de la http://finance.yahoo.com/q?s=aapl&ql=1
<span id="yfs_l84_aapl">126.44</span>
la busqueda esta heciento sobre contenido de htmltext que no tiene todo el codigo fuente, no se porque?
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

No puedo extraer codigo fuente de un url en Python

Publicado por xve (1231 intervenciones) el 06/07/2015 09:21:32
Hola Bango, siento decirte, que yo busco ese id, y no me aparece en el código fuente...¿? lo he mirado desde el navegador, haciendo ver código fuente...

Pero si que he probado en la consola de Python que funcione... y lo he hecho así:
1
2
3
4
import re
a="""hola <span id="yfs_184_aapl">127</span> que tal"""
pattern=re.compile('<span id="yfs_184_aapl">(.*)</span>')
pattern.findall(a)

Esto devuelve: ['127']

Espero que te sirva...
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

No puedo extraer codigo fuente de un url en Python

Publicado por Bango (7 intervenciones) el 07/07/2015 00:01:25
Hola,
Muchas gracias xve, si me funciona ahora.
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

No puedo extraer codigo fuente de un url en Python

Publicado por xve (1231 intervenciones) el 06/07/2015 09:23:02
Sobre descargar la pagina entera, ahora no dispongo de urllib, pero con urllib3 es así:

1
2
3
4
5
6
7
import urllib3
 
url = "http://finance.yahoo.com/q?s=aapl&ql=1"
 
http = urllib3.PoolManager(timeout=5.0)
r = http.urlopen('GET', url)
htmltext=r.read()

Espero que te sirva
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

No puedo extraer codigo fuente de un url en Python

Publicado por Bango (7 intervenciones) el 07/07/2015 00:07:18
Hola,
En python 3, ya no hay urllib2 ni urllib3, solamente urllib, ahora estoy descobriendo algunos cambios. Es porque no me funciona el codigo, en python 3 no accepta muchas cosas anteriores como la linea r = http.urlopen('GET', url).
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

No puedo extraer codigo fuente de un url en Python

Publicado por Bango (7 intervenciones) el 07/07/2015 23:18:03
Pero me queda la pregunta clave, porque no puedo obtenir todo el codigo fuente de un link?
a = "http://finance.yahoo.com/q?s=aapl&ql=1"
a=urllib.request.urlopen(a)
a = a.read()
a = a.decode('utf-8')
print(a) --> aqui no imprima todo

Necesito buscar mas datos, pero por python no salen los datos que estan en la parte oculta?
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

No puedo extraer codigo fuente de un url en Python

Publicado por xve (1231 intervenciones) el 08/07/2015 10:55:24
Hola Bango, yo veo que si esta la pagina entera...

A que datos te refieres con los que están en la parte oculta? ... ten en cuenta que no descarga el contenido que viene por javascript!!!
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