Error de paginación de Tweepy: KeyError: 0
Intenté usar la paginación de tweepy basada en el código proporcionado en su documentación:
import tweepy
auth = tweepy.AppAuthHandler("Consumer Key aquí", "Consumer Secret aquí")
api = tweepy.API(auth)
for status in tweepy.Cursor(api.search_tweets, "Tweepy", count=100).items(250):
print(status.id)
Sin embargo, obtengo el siguiente error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_16136/3940301818.py in <module>
1 for status in tweepy.Cursor(api.search_tweets, "Tweepy", count=100).items(250):
2 print(status.id)
C:\ProgramData\Anaconda3\lib\site-packages\tweepy\cursor.py in __next__(self)
84
85 def __next__(self):
---> 86 return self.next()
87
88 def next(self):
C:\ProgramData\Anaconda3\lib\site-packages\tweepy\cursor.py in next(self)
290 self.page_index += 1
291 self.num_tweets += 1
--> 292 return self.current_page[self.page_index]
293
294 def prev(self):
KeyError: 0
¿Alguien puede explicar y corregir el error, por favor?
davy.ai
El KeyError ocurre cuando el cursor intenta acceder a un elemento en la lista que no existe. En este caso, parece que hay un problema al acceder al primer elemento (índice 0) en la lista current_page.
Para rectificar este error, puedes intentar restablecer el cursor llamando al método .pages() antes del bucle:
Aquí, .pages(2) especifica que solo queremos iterar a través de las dos primeras páginas de resultados. Puedes modificar el recuento de páginas según tus necesidades.
Alternativamente, puedes intentar usar el método .items() con un recuento mayor para recuperar todos los resultados de una vez:
Esto recuperará 250 objetos de estado a la vez, en lugar de iterar a través de páginas.