Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: aspiazu en 10 Diciembre 2016, 20:52 pm



Título: Python Menu -Tweepy Twitter
Publicado por: aspiazu en 10 Diciembre 2016, 20:52 pm
Buenas! tengo un par de dudas en python!

La primera:

Tengo hecho un menu en python,que cuando seleccionas una opción se ejecuta el codigo correspondiente pero luego el scrip se cierra,como ago para que cuando se termine de ejecutar el codigo salga otra vez el menu?
Esta esla estructura de mi menu.

Código:
opcion = int(input("\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n*-*-*-*-*-*-*-*-*-*-MENU*-*-*-*-*-*-*-*-*-*-\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n\n\n\t"+
   "1.Opcion 1\n\t2.Opcion 1\n\t3.Opcion 1r\n\t4.Opcion 1\n\t5.Opcion 1\n\t6.Opcion 1\n\t"+"Que quieres hacer: "));

while(opcion !=7):
if(opcion == 1):
for status in tweepy.Cursor(api.user_timeline).items(20):
        print status.text+'\n'
break;

elif(opcion == 2):
for i in range(0, 16):
    user_timeline = twitter.get_user_timeline(screen_name="craigaddyman",count=200)
    for tweet in user_timeline:
        print tweet['text']




y la segunda duda...

Tengo que sacar los nombres de todos mis seguidores en twiteer ,y ponerme en total cuantos tengo.Tengo hecho para que me saque los nombres de mis seguidores,pero por alguna razon me pone los nombres unas 12 veces en vede solo una vez cada nombre y despues me sale este fallo...
Código:
Traceback (most recent call last):
  File "ejerTwitter.py", line 57, in <module>
    for user in tweepy.Cursor(api.followers).items():
  File "/usr/local/lib/python2.7/dist-packages/tweepy/cursor.py", line 197, in next
    self.current_page = self.page_iterator.next()
  File "/usr/local/lib/python2.7/dist-packages/tweepy/cursor.py", line 75, in next
    **self.kargs)
  File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 245, in _call
    return method.execute()
  File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 227, in execute
    raise RateLimitError(error_msg, resp)
tweepy.error.RateLimitError: [{u'message': u'Rate limit exceeded', u'code': 88}]




Código:
for user in tweepy.Cursor(api.followers).items():
    print user.screen_name


Título: Re: Python Menu -Tweepy Twitter
Publicado por: engel lex en 10 Diciembre 2016, 20:58 pm
la ultima parte del error es bien clara... limite (me imagino que de solicitudes seguidas) excedido

Citar
[{u'message': u'Rate limit exceeded', u'code': 88}]

Código
  1. for i in range(0, 16):
  2.       user_timeline = twitter.get_user_timeline(screen_name="craigaddyman",count=200)
  3.       for tweet in user_timeline:
  4.           print tweet['text']


estás solicitando 16 veces todo el timeline