微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tweepy Search API 停止且没有错误,同时仅搜索前 1 天

如何解决Tweepy Search API 停止且没有错误,同时仅搜索前 1 天

我是 Tweepy 的新手,并通过它的 python 模块运行它。在搜索 hasgtags 几个小时后,我似乎超时了,但没有错误消息 - 它只是继续将推文放入我的数据框中。我知道 Twitter 对免费开发者帐户的 7 天限制,以及通过启用 wait_on_rate_limit=True 来遵守 twitters 数据挖掘限制。我的目标是每天在像“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。是否有异常测试可以添加到此循环中以找出我被踢出的原因?

编辑

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

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。