Extraer texto de una web
Extraer texto de una web
Hola a todos, soy novato en autoit y quiero saber como puedo extraer datos de una web y guardar esos datos en una variable, un ejemplo.
quiero que extraiga el numero de mensajes del usuario BasicOs en http://www.emesn.com/autoitforum/memberlist.php y mostrarlo en una notificación
todo esto sin que el user se de cuenta que abrió la web, es decir no se debe abrir ningun navegador web (iexplorer, firefox, chrome, opera, etc...)
quiero que extraiga el numero de mensajes del usuario BasicOs en http://www.emesn.com/autoitforum/memberlist.php y mostrarlo en una notificación
todo esto sin que el user se de cuenta que abrió la web, es decir no se debe abrir ningun navegador web (iexplorer, firefox, chrome, opera, etc...)
Re: Extraer texto de una web
Usá las funciones en IE.au3
La web (incluso este foro) está llena de ejemplos.
La web (incluso este foro) está llena de ejemplos.
No soy un hombre de plegarias, pero si estás en el cielo sálvame por favor Superman!
Re: Extraer texto de una web
Bien, poder optar x hacerlo con las librerías de ie.au3, con _iecreate("url") y luego si no mal recuerdo exactamente el nombre de la función con _iedocreadtext(instancia de iecreate)
básicamente con eso extraes sólo el texto, puedes hacerlo mas silencioso aplicando algunos atributos a iecreate.
Otra forma es con una funcion que obteniendo apartir del fuente, este hace strip y sólo deja el texto, es mucho mas rápido, si mal no recuerdo, jhonny creo posteo esta utilidad, pero creo q la quitó, yo tengo algo echo, si te interesa me decís,
saludos.
básicamente con eso extraes sólo el texto, puedes hacerlo mas silencioso aplicando algunos atributos a iecreate.
Otra forma es con una funcion que obteniendo apartir del fuente, este hace strip y sólo deja el texto, es mucho mas rápido, si mal no recuerdo, jhonny creo posteo esta utilidad, pero creo q la quitó, yo tengo algo echo, si te interesa me decís,
saludos.
Aunk no m Buskes, Seguro m enkontras!
Re: Extraer texto de una web
yo he intentado hacer lo que quiero con el InetGet y luego leer el archivo descargado con el fileopen, pero aún me faltan unas cosas, me gustaría ver la herramienta, alguien la tiene?
Re: Extraer texto de una web
Si, jonny de este foro, em fíjate en la parte de escripts, lo puso ahí, pero no se si lo borró, yo tengo algo pero estoy en el móvil, si tengo tiempo lo subo, si no mandale un mp a jonny.
Saludos
Saludos
Aunk no m Buskes, Seguro m enkontras!
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Extraer texto de una web
Si es como el ejemplo que pones yo utilizaría la función _IELinkGetCollection, ya que todos los nombre de usuarios y el número de mensajes son links. Podrías filtrarlos con una condición, comparando algún trozo del href que coincida en todos, o el title, u otra posibilidad. Una vez que tienes los links válidos le sacas el texto que es lo que te interesa.
Si lo haces a partir del código html puedes utilizar _inetgetsource para sacar el código de la página y sacar lo que quieres con funciones de tratamiento de string, como _stringbetween, stringregexp,etc.
Saludos.
Si lo haces a partir del código html puedes utilizar _inetgetsource para sacar el código de la página y sacar lo que quieres con funciones de tratamiento de string, como _stringbetween, stringregexp,etc.
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Extraer texto de una web
Yo usaría _InetGetSource() ya que no dependerías del IE (tan directamente). La desventaja es que no podrías acceder a una página que requiera autenticación (como la lista de miembros de este sitio).
Este ejemplo que hice te hace una lista de los usuarios que respondieron a este post:
Por supuesto que habría que hacer alguna función que elimine las entradas repetidas en el arreglo y qué se yo, pero el ejemplo se entiende.
Este ejemplo que hice te hace una lista de los usuarios que respondieron a este post:
Código: Seleccionar todo
#include <Inet.au3>
#include <array.au3>
$PostURL = 'http://www.emesn.com/autoitforum/viewtopic.php?f=12&t=1998'
$Fuente = _INetGetSource($PostURL)
$Fuente = StringReplace($Fuente,@LF,"")
$UsuariosQueRespondieron = StringRegExp($Fuente,'(?i)memberlist.php\?mode\=viewprofile\&u=.*?"\>([[:alnum:]]+)</a\>',3)
_ArrayDisplay($UsuariosQueRespondieron)
No soy un hombre de plegarias, pero si estás en el cielo sálvame por favor Superman!