如何解决使用python库Tweepy,如何在两个给定日期之间收集一定数量的推文?
我目前正在做一个项目,我需要在两个给定日期之间收集推文,但我已经为此苦苦挣扎了一段时间。
我有一个简单的 Twitter 开发者帐户,那么首先您认为这样的帐户可以吗?
我在 Tweepy 的文档中看到,我们可以在最后 7 天内收集一定数量的推文。但即使我在最后 7 天内尝试了两个日期,我也没有得到正确的回报。
这是我的功能:
def scrapping_de_tweets(mots_cles,date_debut,date_fin,nombre_de_tweets):
bd_tweets = pd.DataFrame(columns = ['date_tweet','lieu','texte'])
heure_debut = time.time()
tweets = tweepy.Cursor(api.search,q=mots_cles,since=date_debut,until=date_fin,lang="fr",tweet_mode='extended').items(nombre_de_tweets)
liste_de_tweets = [tweet for tweet in tweets]
nbTweets = 0
for tweet in liste_de_tweets :
date_tweet = tweet.user.created_at
lieu = tweet.user.location
try:
text = tweet.retweeted_status.full_text
except AttributeError: # Pas un Retweet
text = tweet.full_text
ith_tweet = [date_tweet,lieu,text]
# Rajout à la base de données
bd_tweets.loc[len(bd_tweets)] = ith_tweet
nbTweets += 1
heure_fin = time.time()
duree = round((heure_fin- heure_debut)/60,2)
print('Le nombre de tweets scrappés est {}'.format(nbTweets))
print('Le temps nécessaire a été {} mins'.format( duree ))
from datetime import datetime
# Obtenir l'horodatage dans un format lisible
to_csv_horodatage = datetime.today().strftime('%Y%m%d_%H%M%S')
# Chemin du repertoire courant
chemin_courant = os.getcwd()
nom_fichier = chemin_courant + '\\donnees\\' + date_fin + '_' + to_csv_horodatage + 'tweets_pollution.csv'
# Stockage de la DataFrame dans un fichier csv
bd_tweets.to_csv(nom_fichier,index = False)
print('Scraping terminé!')
print(bd_tweets.describe())
# Initialisation des paramètre d'entrées:
mots_cles = "#france"
date_debut = "2020-12-31"
date_fin = "2021-01-04"
nombre_de_tweets = 500
# Appel de la fonction
scrapping_de_tweets(mots_cles,nombre_de_tweets)
这是我得到的
Le nombre de tweets scrappés est 500
Le temps nécessaire a été 0.53 mins
Scraping terminé!
date_tweet ... texte
count 500 ... 500
unique 436 ... 196
top 2009-06-20 16:46:46 ... ?? FLASH - 12 489 cas de #COVID19 ont été déte...
freq 6 ... 82
first 2007-06-25 20:38:51 ... NaN
last 2021-01-03 21:45:34 ... NaN
如您所见,我不仅收到了 2021 年的推文,还收到了 2007 年或 2009 年的一些非常古老的推文。这怎么可能?
请帮助我了解我的代码有什么问题或 tweepy 是如何工作的。
提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。