[PYTHON] Extraire les données Twitter avec CSV

Found a good library "Tweepy (# https://github.com/tweepy/tweepy )"

L'exemple de code est désormais compatible avec Python3.

Step 1: Install Tweepy

pip install tweepy

Collecting tweepy
  Downloading tweepy-3.5.0-py2.py3-none-any.whl
Requirement already satisfied: requests-oauthlib>=0.4.1 in /Users/aws/Documents/Anaconda/anaconda/lib/python3.6/site-packages (from tweepy)
Requirement already satisfied: requests>=2.4.3 in /Users/aws/Documents/Anaconda/anaconda/lib/python3.6/site-packages (from tweepy)
Requirement already satisfied: six>=1.7.3 in /Users/aws/Documents/Anaconda/anaconda/lib/python3.6/site-packages (from tweepy)
Requirement already satisfied: oauthlib>=0.6.2 in /Users/aws/Documents/Anaconda/anaconda/lib/python3.6/site-packages (from requests-oauthlib>=0.4.1->tweepy)
Installing collected packages: tweepy
Successfully installed tweepy-3.5.0
# !/usr/bin/env python
# encoding: utf-8

import tweepy  
import csv

# Twitter API credentials
consumer_key = ""
consumer_secret = ""
access_key = ""
access_secret = ""


def get_all_tweets(screen_name):
    # Twitter only allows access to a users most recent 3240 tweets with this method

    # authorize twitter, initialize tweepy
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_key, access_secret)
    api = tweepy.API(auth)

    # initialize a list to hold all the tweepy Tweets
    alltweets = []

    # make initial request for most recent tweets (200 is the maximum allowed count)
    new_tweets = api.user_timeline(screen_name=screen_name, count=200)

    # save most recent tweets
    alltweets.extend(new_tweets)

    # save the id of the oldest tweet less one
    oldest = alltweets[-1].id - 1

    # keep grabbing tweets until there are no tweets left to grab
    while len(new_tweets) > 0:
        print("getting tweets before %s" % (oldest))

        # all subsiquent requests use the max_id param to prevent duplicates
        new_tweets = api.user_timeline(screen_name=screen_name, count=200, max_id=oldest)

        # save most recent tweets
        alltweets.extend(new_tweets)

        # update the id of the oldest tweet less one
        oldest = alltweets[-1].id - 1

        print("...%s tweets downloaded so far" % (len(alltweets)))

    # transform the tweepy tweets into a 2D array that will populate the csv
    outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]

    # write the csv
    with open('%s_tweets.csv' % screen_name, 'w') as f:
        writer = csv.writer(f)
        writer.writerow(["id", "created_at", "text"])
        writer.writerows(outtweets)

    pass


if __name__ == '__main__':
    get_all_tweets("twitter Username")

Référence: https://gist.github.com/yanofsky/5436496

Recommended Posts

Extraire les données Twitter avec CSV
Extraire les données csv et calculer
Extraire des mots populaires soudains avec l'API de streaming Twitter
Comment créer des exemples de données CSV avec hypothèse
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
Extraire des données d'une page Web avec Python
Extraction de données depuis S3
Twitter OAuth avec Django
Lecture de données avec TensorFlow
Visualisation des données avec les pandas
Manipulation des données avec les Pandas!
Mélangez les données avec les pandas
Augmentation des données avec openCV
Normariser les données avec Scipy
Analyse de données avec Python
Extraire EXIF avec des gorgées
CHARGER DES DONNÉES avec PyMysql
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Traiter les données csv avec python (traitement du comptage à l'aide de pandas)
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Extraction d'éléments non numériques avec des pandas.DataFrame
Exemple de données créées avec python
Lire csv avec des pandas python
Incorporer des données audio avec Jupyter
Graphique des données Excel avec matplotlib (1)
Génération artificielle de données avec numpy
Mémo graphique Twitter avec Python
Obtenez la chronologie Twitter avec Python
Utiliser l'API Twitter avec Python
Remarques sur l'importation de données depuis MySQL ou CSV avec Python
Obtenez des données Youtube avec python
Apprenez de nouvelles données avec PaintsChainer
Binariser les données photo avec OpenCV
Graphique des données Excel avec matplotlib (2)
Essayez d'extraire la table de données d'Azure SQL Server avec pyodbc
Utilisez Django pour enregistrer les données de tweet
Extraire des nombres avec des expressions régulières
Technique élégante pour coller des données CSV dans Excel avec Python
Écrire en csv avec Python
Soutenez-vous avec l'API Twitter
Rechercher des tweets Twitter avec Python
Extraire la valeur de crête avec scipy
Update_with_media réussi avec l'API Twitter
Télécharger le fichier csv avec python
Conseils de traitement des données avec Pandas
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Lire des données json avec python
Analyse des données Twitter | Analyse des tendances
Extraire le jeu de données bigquery et la liste des tables avec python et la sortie en CSV
Comment extraire des fonctionnalités de données de séries chronologiques avec les bases de PySpark
[Pour les débutants] Script dans les 10 lignes (3. Lecteur de données / conversion csv)
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
Extraire des tables de base de données avec CSV [connexion ODBC de R et python]
Enregistrer et charger des données avec joblib, pickle