Página 1 de 1

Recoger texto de una web

Publicado: 26 Mar 2014, 00:25
por juanixo
Hola a todos!
Estoy más que un poco atascado con el autoIt soy nuevo en esto, tengo conocimientos de programación pero aun estoy verde con autoIt.

El tema es, estoy haciendo un scrip que visite una página, hasta ahy todo perfecto, pero necesito que se recoja y se guarde en una variable 1 palabra que aparece como texto plano en la web. He probado con StringinSRT, con _IEreadBody etc, pero no doy con la tecla.
Habría que hacer un substring para localizar la palabra?
Es posible lo que planteo? Basicamente recojer unos determinados carácteres y guardarlos en una variable.
A ver si alguien me puede echar un cable! :smt016
Un saludo y gracias!

Re: Recoger texto de una web

Publicado: 26 Mar 2014, 12:08
por Jonny
Hola:

Hay varias formas de recoger texto de una WEB: Desde sockets (forma compleja) hasta funciones de IE.au3 o Inet.au3 (más sencillo).

Con eso básicamente recoges todo el contenido o parte, de la página, que es el primer paso. Luego, para buscar una palabra o una cadena de texto, puedes también hacerlo de varias formas, ya que en AutoIt hay varias funciones para el tratamiento de cadenas: Desde StringRegExp() (expresiones regulares) hasta StringInSTR(), StringCompare()...

Según como plantees el código, no es necesario obtener todo el contenido de la página. Por ejemplo, si lo haces con funciones TCP(), puedes comprobar el texto que vas recibiendo de la WEB: Si recibes la palabra que quieres, cierras la conexión con el servidor y dejas de recibir datos... Eso dependerá de lo que necesites.

En el foro hay varios códigos que hacen lo que quieres. Por ejemplo, hace tiempo yo hice una librería (ADSL.au3) donde hay una función que recibe datos de páginas WEB y se buscan diferentes cadenas de texto en estos, según las necesidades de cada función.

Ahora que sé usar las expresiones regulares... o que me defiendo con ellas, esa librería ocuparía menos y su código sería más fácil de entender; pero para lo que quieres, adaptándolo a tus necesidades, puede servirte ;)

Salu2!