Página 1 de 1

Capturar número de tweets.

Publicado: 18 Mar 2012, 21:47
por joaquin
Hola,
He probado capturar el número de tweets de una página de Twitter con las funciones de IE pero no da el resultado esperado.
Cuando miro el código HTLM de la página, no localizo las etiquetas de "TWEETS" o "SEGUIDORES", únicamente los enlaces.
Agradecería cualquier sugerencia para resolver el tema.

#include <IE.au3>
$oIE=_IECreate("https://twitter.com/#!/el_pais")
$Tweet = _IEGetObjByName ($oIE, "tweet_stats")
MsgBox(0, "TWEETS", $Tweet)


Saludos.

Re: Capturar número de tweets.

Publicado: 19 Mar 2012, 02:15
por Chefito
Puffffff, he visto el código javascript de la página que carga esos Tweets y es muy extenso. Si lo quisieses hacer directamente seguramente tendrías que averiguar que hace y ejecutar las funciones javascript que te interesen.

Otra forma es la que te voy a mostrar. Es esperar a que carge los Tweets en la página con un bucle que busque un texto específico que solamente salen en los Tweets para luego leer el texto de la página. Entonces verás que ya salen los Tweets. Te he puesto un ejemplo que te dice el número de Tweets que te aparece en la página. Si quieres sacar los textos es facil. Solamente debes tratar estos y coger lo que te interese.

Código: Seleccionar todo

#include <IE.au3>
$oIE=_IECreate("https://twitter.com/#!/el_pais")
Do
	Sleep(100)
	$textWeb=_IEBodyReadText($oIE)
Until StringInStr($textWeb,"RetwitteadoRetwittear")

ConsoleWrite($textWeb)
$numTweets=StringRegExp($textWeb,"RetwitteadoRetwittear",3)
MsgBox(0,"Número Tweets en página Web",UBound($numTweets))
Saludos.

Re: Capturar número de tweets.

Publicado: 19 Mar 2012, 12:12
por jamaro
Hola. Hace días que no estoy por el foro....

Respecto a la obtención de tweets, yo usaría búsqueda con expresiones regulares.

Los titulares parece que están contenidos entre:

<span class="entry-content"> y <a href="

Para ellos se puede utilizar la expresión regurlar:

<span class="entry-content">(.*?)<a href="

Aunque habría que depurar porque si hay enlaces dentro del mensaje puede que no aparezca todo, o quizás código que no es sólo texto.

¡Saludos!

Re: Capturar número de tweets.

Publicado: 20 Mar 2012, 02:25
por joaquin
Gracias @Chefito, @Jamaro por vuestras respuestas.

Abundo un poco más en el planteamiento del problema, que tal como lo expresé creo que no queda claro.
Me interesa capturar el "número" de TWEETS y SEGUIDORES que se muestra en cualquier página de Twitter.
Con "Web Developer", obtuve la información que se muestra en el recuadro amarillo, pero ahí ya me quedo atorado y no sé cómo utilizar las funciones de IE para obtener el dato directamente, si es que es posible.
twitter.PNG
twitter.PNG (43.89 KiB) Visto 4255 veces
Saludos!

Re: Capturar número de tweets.

Publicado: 20 Mar 2012, 09:47
por jamaro
Pues sí entendí mal.

En ese caso, a mí me aparece la pantalla de otra manera (no soy usuario registrado de Tweeter) pero el número de "seguidores" está en una cadena así:

<span id="follower_count" class="stats_count numeric">197,297 </span>

Así que con expresiones regulares, una vez recuperado el texto de la página sería:

<span id="follower_count" class="stats_count numeric">(.*)</span>

Espero que ahora sí te sirva.

Re: Capturar número de tweets.

Publicado: 20 Mar 2012, 10:05
por Chefito
Eso es otra cosa. Te digo lo mismo. Esa parte de la página parece que la genera un código javascript. Como el anterior, parece muy extenso y muy lioso. Si lo quieres hacer directamente y calentarte la cabeza ya sabes.

Si quieres hacerlo de la forma facil, pues lo haces de la forma anterior (ya lo expliqué en el post anterior).

El código sería algo así:

Código: Seleccionar todo

#include <IE.au3>
$oIE=_IECreate("https://twitter.com/#!/el_pais",0,0)
Do
   Sleep(100)
   $textWeb=_IEBodyReadText($oIE)
Until StringInStr($textWeb,"@el_pais")

;~ ConsoleWrite($textWeb)
$numTweets=StringRegExp($textWeb,"Cancelar (.*?) Tweets",3)
$numSeguidores=StringRegExp($textWeb,"\n(.*?) Seguidores",3)
MsgBox(0,"Número Tweets en página Web",$numTweets[0] & " Tweets" &@cr& $numSeguidores[0] & " Seguidores")
Saludos.-

Re: Capturar número de tweets.

Publicado: 21 Mar 2012, 01:49
por joaquin
OK. Gracias por las respuestas y compartir.
Con el código de Chefito queda resuelto el tema ya que captura perfectamente todos los datos... Bueno, como siempre....genial!! :smt023

Saludos :smt002