[PYTHON] Holen Sie sich Promi-Tweet-Geschichte von Twitter

Die Wand, auf die ich sofort stieß, als ich den Einblick in die Persönlichkeit der IBM Cloud nutzen wollte. Ein Memorandum zu dieser Zeit.

Ärger

Ein Satz von 3000 Wörtern oder mehr ist erforderlich (oder eher wünschenswert). Also leihe ich mir einen Promi-Tweet von Twitter aus. Es wird angenommen, dass es ungefähr 15 Wörter pro Tweet gibt und 200 Tweets pro Person erworben werden.

Als Grundvoraussetzung ist es jedoch erforderlich, die Twitter-API zu registrieren. Ich habe bereits eine Registrierung beantragt, daher werde ich dieses Verfahren hier weglassen.

Implementierungsmethode

 -*- coding:utf-8 -*-

import tweepy
import re
import subprocess

# Benutzerliste
import user_list
# Twitter API-Authentifizierungsschlüssel
# Access_token, Access_secret, Consumer_key, Consumer_secret
from auth import twitter_credentials as tc


def get_twitterdata(username, rfile):

 #Lesen Sie den Authentifizierungsschlüssel und die API-Einstellungen
  auth = tweepy.OAuthHandler(tc.Consumer_key, tc.Consumer_secret)
  auth.set_access_token(tc.Access_token, tc.Access_secret)
  api = tweepy.API(auth, wait_on_rate_limit = True)

 #Liste zum Speichern von Tweets
  tweets_data =[]
 Holen Sie sich Daten bis zu # 200 Tweet
  for tweet in api.user_timeline(screen_name=username, count=200):
 # Tweet-Text abrufen
    tmp_text=tweet.text
 # Kontinuierliche Zeilenumbrüche werden zu einem zusammengefasst
    tmp_text=re.sub('\n+','\n',tmp_text)
 # Tweet zur Liste hinzufügen
    tweets_data.append(tmp_text + '\n')

 # Dateiausgabe
  with open(rfile, "w",encoding="utf-8") as wf:
    wf.writelines(tweets_data)


if __name__ == '__main__':

 Holen Sie sich Ihren # Twitter-Benutzernamen
  userlist=user_list.username

  for i in range(0,len(userlist)):
    username = userlist[i]
    rfile = "./data/tweet_"+str(i).zfill(3)+".csv"

    try:
      get_twitterdata(username, rfile)
 # Generieren Sie eine leere Datei, wenn sie nicht abgerufen werden kann, z. B. wenn sie auf privat gesetzt ist
    except:
      subprocess.run(["touch",rfile])

Beispiel für eine Benutzerliste

Es ist verrückt, aber der Name der Person ist versteckt. username=[ "ariyoshihiroiki", "matsu_bouzu", "takapon_jp" ]

Ergebnis

Die Beschreibung wird weggelassen, da sie möglicherweise urheberrechtlich geschützt ist. tweet_000.csv tweet_001.csv tweet_002.csv Kann gemacht werden.

Nachwort

Da die Datenmenge, die alle 15 Minuten (?) Erfasst werden kann, begrenzt ist, müssen Sie lange warten, wenn Sie gierig sind. Sie können auch Retweets und andere Nicht-Texte von der betreffenden Person ausschließen.

Recommended Posts

Holen Sie sich Promi-Tweet-Geschichte von Twitter
Holen Sie sich Daten von Twitter mit Tweepy
Erhalten Sie Verzögerungsinformationen auf Twitter und twittern Sie
Holen Sie sich Bilder per Stichwortsuche von Twitter
Tweet von Python mit Twitter Developer + Tweepy
Holen Sie sich Bilder von bestimmten Benutzern auf Twitter
Abrufen des Metrikverlaufs von MLflow in Python
Holen Sie sich Twitter userData
[Python] Holen Sie sich einen einjährigen Nachrichtenverlauf von Slack
Tweet von AWS Lambda
Erstellen Sie ein Korrelationsdiagramm aus dem Konversationsverlauf von Twitter
Strukturdaten von CHEMBLID abrufen
Holen Sie sich Twitter-Timeline mit Python
Poste Twitter über die Kommandozeile
Holen Sie sich die Zwischenablage aus den Maya-Einstellungen