Twitter数据抓取意外失败-Python 3.x

问题描述 投票:0回答:1

我正在尝试使用Tweepy为机器学习模型创建特征向量。

我首先尝试将所有关注者保存到列表中,以后可以参考该列表以收集有关他们的元数据。我有下面的代码,已从一些示例中改编而成:

import tweepy
import time

#insert your Twitter keys here
consumer_key =''
consumer_secret=''
access_token=''
access_token_secret=''
twitter_handle='TimBarbalace'

auth = tweepy.auth.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)

users = []

if(api.verify_credentials):
    print("We successfully logged in")

user = tweepy.Cursor(api.followers, screen_name=twitter_handle).items()

while True:
    try:
        u = next(user)
        users.append(u)

    except:
        time.sleep(2*60)
        print("We got a timeout ... Sleeping for 2 minutes")
        u = next(user)
        users.append(u)

此代码开始起作用(当我添加打印语句时,我可以看到添加了一些Twitter句柄),但最终冻结了。我让它坐了大约15分钟,我再也坐不下来了。我最终不得不Ctrl + C我的应用程序,并且得到以下回溯:

Traceback (most recent call last):
  File "WiP2.py", line 25, in <module>
    u = next(user)
  File "C:\Users\Jerry\AppData\Local\Programs\Python\Python37\lib\site-packages\tweepy\cursor.py", line 47, in __next__
    return self.next()
  File "C:\Users\Jerry\AppData\Local\Programs\Python\Python37\lib\site-packages\tweepy\cursor.py", line 195, in next
    self.current_page = self.page_iterator.next()
  File "C:\Users\Jerry\AppData\Local\Programs\Python\Python37\lib\site-packages\tweepy\cursor.py", line 73, in next
    **self.kargs)
  File "C:\Users\Jerry\AppData\Local\Programs\Python\Python37\lib\site-packages\tweepy\binder.py", line 250, in _call
    return method.execute()
  File "C:\Users\Jerry\AppData\Local\Programs\Python\Python37\lib\site-packages\tweepy\binder.py", line 162, in execute
    time.sleep(sleep_time + 5)  # sleep for few extra sec
KeyboardInterrupt

我不确定此错误的含义,或者为什么我无法将所有关注者收集到列表中。如何输入我的帐户信息并将所有关注者移动到列表中?

python python-3.x twitter tweepy
1个回答
0
投票

以下代码块来自注释中的问题,实现了这一目标:

import tweepy
import time

#insert your Twitter keys here
consumer_key =''
consumer_secret=''
access_token=''
access_token_secret=''
#twitter_handle='TimBarbalace'

auth = tweepy.auth.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify = True)

users = []

if(api.verify_credentials):
    print("Logged In Successfully")
else:
    print("Error -- Could not log in with your credentials")

followers = tweepy.Cursor(api.followers).items()
© www.soinside.com 2019 - 2024. All rights reserved.