Foros del Web » Programando para Internet » Python »

Expresion para buscar texto en pagina web.

Estas en el tema de Expresion para buscar texto en pagina web. en el foro de Python en Foros del Web. Necesito mediante una expresion sacar un numero del codigo de una pagina. Os pongo de ejemplo uno que me funciona: Con esta consigo lo que ...
  #1 (permalink)  
Antiguo 22/10/2014, 03:51
 
Fecha de Ingreso: marzo-2006
Mensajes: 49
Antigüedad: 15 años, 6 meses
Puntos: 6
Expresion para buscar texto en pagina web.

Necesito mediante una expresion sacar un numero del codigo de una pagina. Os pongo de ejemplo uno que me funciona:

Con esta consigo lo que quiero:

<expres>this.loadPlayer\("([^"]*)</expres>

Me busca en esta linea:

this.loadPlayer("ce411418ebc24fdbd561c78eef5fb2b13 7b08dc5", {autoplay: true});

Y me da lo que necesito, que es esto:

ce411418ebc24fdbd561c78eef5fb2b137b08dc5

=====================
=====================

Quiero hacerlo mismo para sacar de esta linea:

value="sop://broker.sopcast.com:3912/172996"

Solo esto:

172996

Le he dado mil vueltas, y no lo consigo. Llego a esto pero no funciona:

<expres>sopcast.com:3912\(/([^"])</expres>
  #2 (permalink)  
Antiguo 25/10/2014, 15:24
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 16 años, 6 meses
Puntos: 1360
Respuesta: Expresion para buscar texto en pagina web.

Uses expresiones regulares para parsear HTML. Usa un parser en su lugar.

Y menos para parsear URLs. En python 2 existe un modulo llamado urlparse.

Código Python:
Ver original
  1. url = "sop://broker.sopcast.com:3912/172996"
  2. url = urlparse.urlparse(url)
  3.  
  4. path = url.path[1:] # Quitamos el / del principio
  5. path = path.split('?', 2)[0] # Quitamos el querystring
  6. print path
  #3 (permalink)  
Antiguo 26/10/2014, 14:06
 
Fecha de Ingreso: marzo-2006
Mensajes: 49
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Expresion para buscar texto en pagina web.

lo necesito hacer tal como indico, ya que es para dentro de XBMC, yo no tengo ninguna idea de python, pero teniendo funcionando el de mi primer ejemplo, deberia ser bastante facil sacar la expresion valida para el segundo, que es para sopcast.

Gracias por la ayuda
  #4 (permalink)  
Antiguo 30/10/2014, 09:47
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Expresion para buscar texto en pagina web.

No estoy seguro de por qué has escrito en el foro de Python, entonces.

Lo que te falta en tu segundo ejemplo es lo que en expresiones regulares se llama cuantificador. Tu expresión no coincide con lo que intentás buscar, porque le estás pidiendo que busque 1 solo caracter que no sea una comilla ([^"]). Necesitás agregar + (para que la expresión coincida con 1 o más caracteres) o * (para que coincida con cero o más).

Esto tendría que servirte:
<expres>sopcast.com:3912\(/([^"]+)</expres>
  #5 (permalink)  
Antiguo 30/10/2014, 14:40
 
Fecha de Ingreso: marzo-2006
Mensajes: 49
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Expresion para buscar texto en pagina web.

Gracias por tu ayuda, pero me sale una ventana de error en SOPCAST, fuera de XBMC, que es realmente donde quiero hacer funcionar esto. Te muesto un ejemplo completo de un canal Acestream que si funciona:

Código:
    <item>
    <title>Canal Acestream</title> 
    <link>plugin://plugin.video.p2p-streams/?url=$doregex[url]&amp;mode=1&amp;name=Canal Acestream</link>
    <regex>
    <name>url</name>    
    <expres>this.loadPlayer\("([^"]*)</expres>
    <page>http://torrent-tv.ru/torrent-online.php?translation=9387</page>
    <referer></referer>
    </regex>
    </item>
El de sopcast, usa MODE2 en la linea de LINK (que indica a p2p-stream que es un canal de sopcast) y del codigo de la pagina, busco esto:

sop://broker.sopcast.com:3912/172996

Solo me interesa lo que esta en negrita, que es lo unico que necesila el ADDON de XBMC P2P-Stream para cargar ese canal.

P2PStream me permite 2 formas de cargar canales sopcast, la primera es como os he indicado antes y la segunda es, en vez de poner los 6 digitos que estan en negrita, poniendo todo esto:

sop://broker.sopcast.com:3912/151743

Si estas interesado en ver todo esto que estoy haciedo en XBMC, puedo enseñartelo, tengo un foro dedicado a ello.

Gracias

Edit: por cierto, un canal de sopcast aqui, por si quieres ver el codigo):

http://go.arenavision.in/p/av1.html

Última edición por pikomule; 30/10/2014 a las 14:48

Etiquetas: expresion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:12.