gpt4 book ai didi

python - tweepy 获取两个日期之间的推文

转载 作者:太空狗 更新时间:2023-10-30 02:25:15 24 4
gpt4 key购买 nike

我在 Python 中有以下代码:

import tweepy

consumer_key = "..."
consumer_secret = "..."

access_token = "..."
access_token_secret = "..."

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

start_date = datetime.datetime(2018, 1, 19, 12, 00, 00)
end_date = datetime.datetime(2018, 1, 19, 13, 00, 00)

api = tweepy.API(auth)

for tweet in tweepy.Cursor(api.user_timeline, screen_name="@IBM", since=start_date, until=end_date).items():
print("ID TWEET: " + str(tweet.id))

有没有办法通过使用 tweepy 修改光标来获取 start_dateend_date 之间的推文?

我已经尝试使用 since=until= 参数,但它们没有用。

提前谢谢你。

最佳答案

首先,Twitter API 不允许按时间搜索。简单地说,您可以做的是获取推文并随后在 Python 中查看它们的时间戳,但这是非常低效的。

您可以通过以下代码片段来做到这一点。

consumerKey = "CONSUMER_KEY"
consumerSecret = "CONSUMER_SECRET"
accessToken = "ACCESS_TOKEN"
accessTokenSecret = "ACCESS_TOKEN_SECRET"

auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)

api = tweepy.API(auth)

username = sys.argv[1]
startDate = datetime.datetime(2011, 6, 1, 0, 0, 0)
endDate = datetime.datetime(2012, 1, 1, 0, 0, 0)

tweets = []
tmpTweets = api.user_timeline(username)
for tweet in tmpTweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
tweets.append(tweet)

while (tmpTweets[-1].created_at > startDate):
tmpTweets = api.user_timeline(username, max_id = tmpTweets[-1].id)
for tweet in tmpTweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
tweets.append(tweet)

虽然效率很低。它有效,可以帮助我创建自己的机器人。

关于python - tweepy 获取两个日期之间的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com