【问题标题】:Tweepy Search API stops with no errors, while searching back only 1 previous dayTweepy Search API 停止时没有错误,而仅在前 1 天进行搜索
【发布时间】:2021-05-19 22:39:18
【问题描述】:

我是 Tweepy 的新手,并通过它的 python 模块运行它。在搜索 hasgtag 几个小时后,我似乎超时了,但没有错误消息 - 它只是继续将推文放入我的数据框中。我知道 Twitter 对免费开发人员帐户的 7 天限制,以及通过启用 wait_on_rate_limit=True 来尊重 Twitter 数据挖掘限制。我的目标是每天在“elonmusk”等更大的主题标签上运行此程序,并在过去 24 小时内获取推文,但 Tweepy 似乎在一定数量的推文后超时(最后一次拉动是 65k 推文,并在“现在”-4 小时后切断推文的价值)。

import tweepy
import pandas as pd

consumer_key = 'XXX'
consumer_secret = 'XXX'
access_token = 'XXX'
access_token_secret = 'XXX'

auth = tweepy.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)

d = []
start_date = pd.to_datetime('2021/2/14')
for tweet in tweepy.Cursor(api.search, q=HashValue,count=20, lang="en", since=StartDate, tweet_mode='extended', show_user=True).items():
    full_noURL_tweet = [remove_url(tweet.full_text)]
    print('Writing tweets to the moooon...')
    d.append((tweet.created_at, full_noURL_tweet))
print('tweets loaded...')

df = pd.DataFrame(d, columns=('date', 'full_tweet'))

我不想使用 Tweepy 的流媒体工具,因为我没有服务器/数据库功能来运行这个 24/7。是否可以在此循环中添加异常测试来找出我被踢出的原因?

编辑

同时运行任务管理器时,我注意到我在 3000Mhz 下使用 7.6GB(68.8MB 压缩)和 32GB 总内存。这会是我超时的原因吗?

【问题讨论】:

    标签: python memory twitter tweepy twitterapi-python


    【解决方案1】:

    我通过将count=20 增加到 api 允许的最大值“解决”了这个超时问题:count=100See tweepy.search

    这使我能够将挖掘/请求的推文数量增加 5 倍,并且我在更短的时间内下载了我的日期范围内的整个数据集,所以如果你想要大数字,请确保最大化你的数量!

    对于这个确切的问题是什么,我没有一个可靠的答案,但似乎我的代码可以处理一些异常,而 Tweepy 的 API 的 this 部分可能是开始的地方

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2017-03-17
      • 2019-06-03
      • 2018-05-16
      • 2014-12-21
      相关资源
      最近更新 更多