如何在 API 3.9 中使用 Tweepy 检索一周前的推文

How to retrieve tweets from a week ago using Tweepy in API 3.9

import tweepy,re,json,matplotlib.pyplot as plt, seaborn as sns,pandas as pd
from textblob import TextBlob
consumer_key = "key"
consumer_secret = "key"
access_key = "key"
secret_key = "key"
autenticacion = tweepy.OAuthHandler(consumer_key, consumer_secret)
autenticacion.set_access_token(access_key, secret_key)
"""Variable donde voy a llamar a la API"""
api = tweepy.API(autenticacion, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
results = tweepy.Cursor(api.search, q='Panamá', tweet_mode="extended",lang="en",since='2020-11-12',until='2020-11-18').items(2000)
term = 'Panamá'
json_data = [r._json for r in results]
df = pd.io.json.json_normalize(json_data)

我试图从一周前的今天提取一千条推文,但我提取的所有推文都是从今天开始的。如何均匀地提取日期从一周前到今天的推文?

Twitter API 本身不支持在一周内按天平均分配结果,因此您必须自己实施。 count 参数只支持每页最多 100 个结果。目前,您的代码基本上是要求从现在开始回顾 100 条推文。

您可以尝试以下方法:

  • 将你的 1000 个结果分解为 7 天(为了更容易,让我们每天 100 个,所以总共 700 个推文)
  • 围绕您的第二个代码块创建一个 7 遍循环,并且对于每次迭代,搜索 100 个结果,每次都在同一天生成 sinceuntil 值,因此 '2020-11-12''2020-11-12''2020-11-13''2020-11-13',等等
  • 在每次循环迭代中,将您的数据附加到数据框中

另请注意,term = 'Panamá' 所在的行在上面的代码中显然未被使用。