On suppose que vous pouvez utiliser l'API Twitter (désolé) Cet article s'adresse aux personnes qui souhaitent faire diverses choses à l'aide de tweets mais qui ont du mal à collecter des données.
Si vous essayez de rechercher des tweets normalement en utilisant la recherche API de Twitter, vous ne pouvez obtenir que le top 100. Cependant, vous pouvez obtenir des tweets jusqu'à la semaine dernière en traçant l'ID attribué à chaque tweet. Voici le programme de recherche.
tweet_search.py
# -*- coding:utf-8 -*-
import tweepy
def search_tweet(api):
print('Sortie des derniers tweets')
print('Page de recherche: 1')
tweet_data = api.search(q=' ', count=100)
for tweet in tweet_data:
print(tweet.text)
print('************************************************\n')
next_max_id = tweet_data[-1].id
for i in range(2, 11):
print('Page de recherche:' + str(i))
tweet_data = api.search(q=' ', count=100, max_id=next_max_id-1)
next_max_id = tweet_data[-1].id
for tweet in tweet_data:
print(tweet.text)
print('************************************************\n')
if '__name__' == '__main__':
consumer_key = "XXXXXXXXXXXXXXXXXXXXXXX"
consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXX"
access_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
access_token_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
search_tweet(api)
Pour expliquer brièvement le mécanisme ・ L'ID de Tweet (tous les numéros) est toujours attribué à tous les tweets. -L'ID est plus grand pour le dernier tweet (par exemple, si l'ID du dernier tweet est 7000, l'ID du tweet précédent est 6999). ・ La recherche normale de l'API remonte aux tweets précédents dans l'ordre des derniers tweets. -Et la recherche API a un argument appelé max_id, et en spécifiant cet ID, vous ne pouvez rechercher que les tweets inférieurs à cette valeur.
En utilisant ces quatre points, le processus de «recherche à partir d'ID de tweet de 7 000 ou moins» devient possible.
En d'autres termes
En répétant cela, vous pouvez continuer à passer indéfiniment les tweets! J'aimerais dire, mais malheureusement, l'API ne peut recevoir des tweets que dans une semaine, donc ce n'est pas infini. Cependant, le nombre de tweets pouvant être collectés est extrêmement important par rapport à l'utilisation normale de la recherche API.
c'est tout.
Recommended Posts