Este proyecto se puede clonar. Lee las instrucciones al final de la página.
Este proyecto NO se puede clonar. Lee las instrucciones al final de la página.
# Acceso a interfaces REST. Descarga masiva de Tweets
...
...
@@ -499,23 +499,124 @@ Observa, depurando paso a paso y usando break points (en ocasiones entrar dentro
### Peticiones con cursores
La función del API descrita en https://dev.twitter.com/rest/reference/get/statuses/user_timeline tiene un límite de 200 tweets por petición.
La función del API descrita en https://dev.twitter.com/rest/reference/get/statuses/user_timeline tiene un límite de 300 peticiones cada 15 minutos. Pero por lo general tiene un límite total de 3200 tweets por cuenta consultada (los 3200 últimos).
El problema es que los API REST no tienen estado, entonces, ¿cómo bajar los 3200?
Pese a la limitación dura de 3200, en cada petición se pueden pedir como máximo 200 (parámetro `count` de la llamada al API)
Para ello, es necesario usar cursores, elementos que le informen a Twitter a partir de qué Tweet deseas obtener los siguientes 200.
El problema es que los API REST no tienen estado, entonces, **¿cómo bajar los 3200?**
Para ello, es necesario usar **cursores**, elementos que le informen a Twitter a partir de qué Tweet deseas obtener los siguientes 200.
Para ello utilizamos el parámetro `max_id` de la petición, usando la información contenida aquí https://dev.twitter.com/rest/public/timelines
Para ello utilizamos el parámetro max_id de la petición, usando la información contenida aquí https://dev.twitter.com/rest/public/timelines
Usemos una cuenta popular, cualquiera con más de 3200 Tweets. Para ello usa cualquiera de las más populares del mundo (yo voy a usar @realmadrid).
De todos los tweets recibidos, hay que buscar cuál de ellos tiene menor id y usarlo como parámetro (restándole 1) para la siguiente petición.
Averigua como podrías obtener más Tweets haciendo peticiones poco a poco con el método explicado (lo veremos en detalle el proximo día)