Sammeln von Informationen von Twitter mit Python (Integration von MySQL und Python)

Speichern Sie die erfassten Daten in der DB

Der Teil, der die gesammelten Tweet-Daten in der Datenbank speichert. Betreiben Sie MySQL von Python aus mit dem Treiber für MySQL.

Treiber für MySQL

Verwenden Sie die beim Erstellen der Umgebung installierte.

Beispielcode

Der Beispielcode für die tatsächliche Verwendung sollte schneller angezeigt werden. Sie können SQL in der angegebenen Datenbank ausführen, indem Sie die Funktion execute_sql () im Beispiel verwenden.

#!/usr/bin/env python                                                                                                                                             
# -*-coding:utf-8-*-                                                                                                                                              
import MySQLdb

### Functions                                                                                                                                                     
def main():
    local_db = {
        "host": "localhost",
        "user": "root",
        "passwd": "vagrant",
        "db_name": "twitter_logs"
        }

    #DB-Erstellung
    create_db(local_db)

    #Tabelle erstellen
    create_hashtag_serch_table(local_db)

    #Datenspeicher
    hashtag_search_dict = {
        "tweet_id": u"10000000001",
        "datetime": u"2014-11-09 18:05:42",
        "user_id": u"123456789",
        "user_name": u"salinger",
        "display_name": u"J.D. Salinger",
        "search_hashtag": u"#salinger",
        "raw_tweet": u"Ich möchte der Fänger des Roggenfeldes sein. Ich weiß, dass es lächerlich ist. Aber das ist das Einzige, was ich wirklich sein möchte.",
        "words": u"Roggenweizen,Feld,von,Fang,Rolle,、,Eine solche,もvon,Zu,ich,Ist,Nari,Wollen,Hmm,Ist,Yo,。,Blöd,Teru,Ding,Ist,Kennt,Teru,Yo,。,Aber,、,ほHmmWannう,Zu,Nari,Wollen,もvon,Wann,Ichi,Tara,Es,Shika,Abwesend,Hallo,。",
        "nouns": u"Roggenweizen,Feld,Rolle,Ding,ich,Hmm,Ding,ほHmmとう,Ding,Es",
        "verbs": u"Fang,Nari,Blöd,Teru,Kennt,Teru,Nari,Ichi",
        "adjs": u"Abwesend"
        }

    insert_into_hashtag_search(local_db, hashtag_search_dict)
    return True

def create_db(db_info):
    connector = MySQLdb.connect(
        host = db_info["host"],
        user = db_info["user"],
        passwd = db_info["passwd"],
        charset = "utf8"
        )
    cursor = connector.cursor()
    sql = u"""
    CREATE DATABASE IF NOT EXISTS                                                                                                                                 
        %s                                                                                                                                                        
    CHARACTER SET                                                                                                                                                 
        utf8                                                                                                                                                      
    ;                                                                                                                                                             
    """ %(db_info["db_name"])
    cursor.execute(sql)
    connector.commit()
    cursor.close()
    connector.close()
    return True

def execute_sql(sql, db_info, is_commit = False):
    connector = MySQLdb.connect(
        host = db_info["host"],
        user = db_info["user"],
        passwd = db_info["passwd"],
        db = db_info["db_name"],
        charset = "utf8"
        )
    cursor = connector.cursor()
    cursor.execute(sql)
    if is_commit:
        connector.commit()
    cursor.close()
    connector.close()
    return True

def create_hashtag_serch_table(db_info):
    sql = """                                                                                                                                                     
    CREATE TABLE IF NOT EXISTS                                                                                                                                    
        hashtag_search(                                                                                                                                           
            id BIGINT PRIMARY KEY AUTO_INCREMENT,                                                                                                                 
            tweet_id BIGINT,                                                                                                                                      
            datetime DATETIME,                                                                                                                                    
            user_id BIGINT,                                                                                                                                       
            user_name VARCHAR(50),                                                                                                                                
            display_name VARCHAR(50),                                                                                                                             
            search_hashtag VARCHAR(140),                                                                                                                          
            raw_tweet TEXT,                                                                                                                                       
            words TEXT,                                                                                                                                           
            nouns TEXT,                                                                                                                                           
            verbs TEXT,                                                                                                                                           
            adjs TEXT                                                                                                                                             
        )                                                                                                                                                         
    ;                                                                                                                                                             
    """
    execute_sql(sql, db_info, is_commit = True)
    return True

def insert_into_hashtag_search(db_info, hashtag_search_dict):
    sql = """                                                                                                                                                     
    INSERT INTO                                                                                                                                                   
        hashtag_search                                                                                                                                            
    VALUES(                                                                                                                                                       
        NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'                                                                                    
        )                                                                                                                                                         
    ;                                                                                                                         
    """ %(
        hashtag_search_dict["tweet_id"],
        hashtag_search_dict["datetime"],
        hashtag_search_dict["user_id"],
        hashtag_search_dict["user_name"],
        hashtag_search_dict["display_name"],
        hashtag_search_dict["search_hashtag"],
        hashtag_search_dict["raw_tweet"],
        hashtag_search_dict["words"],
        hashtag_search_dict["nouns"],
        hashtag_search_dict["verbs"],
        hashtag_search_dict["adjs"]
        )
    execute_sql(sql, db_info, is_commit = True)
    return True


### Execute                                                                                                                                                       
if __name__ == "__main__":
    main()

Funktionsprüfung

(twi-py) $ python mysql_tools.py
(twi-py) $ mysql -u root -pvagrant twitter_logs
mysql> SHOW tables;
+------------------------+
| Tables_in_twitter_logs |
+------------------------+
| hashtag_search         |
+------------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM hashtag_search\G
*************************** 1. row ***************************
            id: 1
      tweet_id: 10000000001
      datetime: 2014-11-09 18:05:42
       user_id: 123456789
     user_name: salinger
  display_name: J.D. Salinger
search_hashtag: #salinger
     raw_tweet:Ich möchte der Fänger des Roggenfeldes sein. Ich weiß, dass es lächerlich ist. Aber das ist das Einzige, was ich wirklich sein möchte.
         words:Roggenweizen,Feld,von,Fang,Rolle,、,Eine solche,もvon,Zu,ich,Ist,Nari,Wollen,Hmm,Ist,Yo,。,Blöd,Teru,Ding,Ist,Kennt,Teru,Yo,。,Aber,、,ほHmmWannう,Zu,Nari,Wollen,もvon,Wann,Ichi,Tara,Es,Shika,Abwesend,Hallo,。
         nouns:Roggenweizen,Feld,Rolle,Ding,ich,Hmm,Ding,ほHmmとう,Ding,Es
         verbs:Fang,Nari,Blöd,Teru,Kennt,Teru,Nari,Ichi
          adjs:Abwesend
1 row in set (0.00 sec)
mysql>

Ich konnte die DB-Erstellung, Tabellenerstellung und Datenspeicherung bestätigen.

Schließlich

Wenn Sie danach den Inhalt der bisherigen Artikel in einem Programm kombinieren und die Ein- und Ausgabe gut miteinander verbinden, Sie haben jetzt ein Basisprogramm in Python zum Sammeln von Informationen von Twitter. Im nächsten Artikel geht es darum.

Recommended Posts

Sammeln von Informationen von Twitter mit Python (Integration von MySQL und Python)
Sammeln von Informationen von Twitter mit Python (Twitter API)
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Empfangen Sie Textdaten von MySQL mit Python
Tweet von Python mit Twitter Developer + Tweepy
Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (5. Information Entropy)
Abrufen von Informationen zu Songwriting, Komposition und Arrangement von der Tower Records-Website mit Python
Berühren Sie MySQL in Python 3
Tweets mit Python sammeln
Verwenden Sie MySQL aus Python
Verwenden Sie MySQL aus Python
Automatisches Folgen auf Twitter mit Python und Selen! (RPA)
Crawlen mit Python und Twitter API 1-Einfache Suchfunktion
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
Programmieren mit Python und Tkinter
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Ver- und Entschlüsselung mit Python
Python und Hardware-Verwenden von RS232C mit Python-
Twitter-Grafiknotiz mit Python
Holen Sie sich Twitter-Timeline mit Python
Verwenden Sie die Twitter-API mit Python
Hinweise zum Importieren von Daten aus MySQL oder CSV mit Python
Informationen von tweet_id (Python)
Starten Sie den Cloud Datastore Emulator mit Docker-Compose und arbeiten Sie mit der Python-App
Verwenden Sie MySQL von Anaconda (Python)
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
Optimieren Sie das Sammeln von Informationen mit Twitter API und Slack Bots
Hasch mit Python und entkomme dem Ego eines bestimmten Ministers
Python mit Pyenv und Venv
Suchmaschinen arbeiten mit Python
[Python x Zapier] Erhalten Sie Warninformationen und benachrichtigen Sie mit Slack
Mit Skype benachrichtigen Sie mit Skype von Python!
Holen Sie sich Alembic-Informationen mit Python
Funktioniert mit Python und R.
Verbindungspooling mit Python + MySQL
Crawlen mit Python und Twitter API 2-Implementierung der Benutzersuchfunktion
Extrahieren Sie Text aus [python] pdf und lesen Sie Zeichen mit Open-Jtalk vor
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Betreiben Sie Firefox mit Selen aus Python und speichern Sie die Bildschirmaufnahme
Datenbanktabellen mit CSV extrahieren [ODBC-Verbindung von R und Python]
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Leuchtendes Leben mit Python und OpenCV
Roboter läuft mit Arduino und Python
Rufen Sie C von Python mit DragonFFI auf
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Neuronales Netzwerk mit OpenCV 3 und Python 3
AM-Modulation und Demodulation mit Python
Scraping mit Node, Ruby und Python
Verwenden von Rstan aus Python mit PypeR
Python, Ausbeute, Rückkehr und manchmal Ausbeute von
Scraping mit Python, Selen und Chromedriver
Kratzen mit Python und schöner Suppe
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Lesen und verwenden Sie Python-Dateien aus Python