Παράδειγμα

Το παρόν παράδειγμα αποτελεί εργασία για το μάθημα ΚΠΣ611 - Ανάλυση ιστού και κοινωνικών μέσων του μεταπτυχιακού τμήματος Κοινωνικά Πληροφοριακά Συστήματα του Ανοικτού Πανεπιστημίου Κύπρου (Φθινόπωρο 2016)

Σκοπός της εργασίας είναι η συλλογή όλων των tweets τριών ανταγωνιστικών μεταξύ τους λογαριασμών (π.χ. εταιρειών ή πολιτικών) και στη συνέχεια η ανάλυση συναισθήματος με τεχνικές επεξεργασίας φυσικής γλώσσας.

Για την εργασία επιλέχτηκαν οι ακόλουθοι πολιτικοί από ανταγωνιστικούς πολιτικούς χώρους αφενός γιατί είναι γνωστό ότι διαχειρίζονται οι ίδιοι προσωπικά τους λογαριασμούς τους και αφετέρου γιατί ο λόγος τους θεωρείται ιδιαίτερα φορτισμένος συναισθηματικά:

  • Άδωνις Γεωργιάδης, Βουλευτής, ΝΔ (πρώην ΛΑΟΣ)
  • Πάνος Καμμένος, Υπουργός Εθνικής Άμυνας, ΑΝΕΛ
  • Ραχήλ Μακρή, πρώην Βουλευτής, Πλεύση Ελευθερίας (πρώην ΣΥΡΙΖΑ, ΑΝΕΛ)

Προετοιμασία

Αρχικά εντοπίζουμε τους λογαριασμούς των τριών πολιτικών στο Twitter για να βρούμε το όνομα χρήστη τους. Το όνομα χρήστη εντοπίζεται στο url ως εξής:

https://twitter.com/ΌνομαΧρήστη

Έτσι έχουμε:

Χρήστης URL Twitter Όνομα χρήστη
Άδωνις Γεωργιάδης https://twitter.com/AdonisGeorgiadi AdonisGeorgiadi
Πάνος Καμμένος https://twitter.com/PanosKammenos PanosKammenos
Ραχήλ Μακρή https://twitter.com/rachelmakri rachelmakri

Στη συνέχεια τα ονόματα χρήστη τα περνάμε στο config.py ως εξής:

accounts = ['AdonisGeorgiadi','PanosKammenos','rachelmakri']

Να σημειωθεί ότι μπορούμε να βάλουμε όσα ονόματα χρήστη θέλουμε. Απλά η παρούσα εργασία ζητάει τρία.

Αποτελέσματα

Πρώτα εκτελούμε το πρόγραμμα get-user-data.py που συλλέγει τα μεταδεδομένα των τριών λογαριασμών. (Δεν παίζει ρόλο αν θα το εκτελέσουμε πρώτο ή δεύτερο, τα δύο προγράμματα είναι ανεξάρτητα).

Κατά την εκτέλεση του (διαρκεί λίγα δευτερόπλεπτα) παίρνουμε ενδεικτικά την ακόλουθη έξοδο:

Λήψη στοιχείων για το λογαριασμό AdonisGeorgiadi
Αποθήκευση εικόνας προφίλ AdonisGeorgiadi.jpg
Λήψη στοιχείων για το λογαριασμό PanosKammenos
Αποθήκευση εικόνας προφίλ PanosKammenos.jpg
Λήψη στοιχείων για το λογαριασμό rachelmakri
Αποθήκευση εικόνας προφίλ rachelmakri.jpg
Η λήψη στοιχείων για όλους τους λογαριασμούς ολοκληρώθηκε

Μόλις ολοκληρωθεί η εκτέλεση έχει εγγραφεί το αρχείο: user data.csv καθώς και τρία αρχεία εικόνων με τις εικόνες προφίλ των χρηστών.

εικόνα προφίλ εικόνα προφίλ εικόνα προφίλ

Στη συνέχεια εκτελούμε το πρόγραμμα get-tweets.py.

Κατά την εκτέλεση του (διαρκεί 5-10 λεπτά) παίρνουμε ενδεικτικά την ακόλουθη έξοδο:

Έναρξη λήψης tweets για το λογαριασμό AdonisGeorgiadi
Λήψη της πρώτης διακοσάδας tweets
...200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 801441483387715583
...400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 799875565150961663
...600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 798480163860156415
...800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 796803970270461951
...1000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 794928271762882559
...1200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 793188478922133506
...1400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 792249581497159679
...1600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 790529008295354367
...1800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 788421313086033919
...2000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 786782346070659071
...2199 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 785214715890925567
...2399 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 783004297164357631
...2599 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 780987872451125247
...2799 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 779222750825222144
...2999 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 777442680485900287
...3199 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 775255481191395327
...3238 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 774942214485110783
...3238 tweets έχουν ληφθεί μέχρι τώρα
Τα tweets εγγράφηκαν στο αρχείο AdonisGeorgiadi_tweets.csv
Η λήψη tweets για το λογαριασμό AdonisGeorgiadi ολοκληρώθηκε
-------------------------------
Έναρξη λήψης tweets για το λογαριασμό PanosKammenos
Λήψη της πρώτης διακοσάδας tweets
...200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 775358116091297791
...400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 728244368411402240
...600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 692693354409246719
...800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 667582395256856576
...1000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 643683024698220543
...1200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 626732294288605183
...1400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 615984237104209919
...1600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 600026192025100287
...1800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 582159172168372223
...2000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 571428368085860351
...2200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 558760866493894655
...2399 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 554012865477488639
...2598 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 547119369793593343
...2797 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 541201668369821697
...2997 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 530262685011935231
...3197 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 519782155711295489
...3227 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 516097327359336447
...3227 tweets έχουν ληφθεί μέχρι τώρα
Τα tweets εγγράφηκαν στο αρχείο PanosKammenos_tweets.csv
Η λήψη tweets για το λογαριασμό PanosKammenos ολοκληρώθηκε
-------------------------------
Έναρξη λήψης tweets για το λογαριασμό rachelmakri
Λήψη της πρώτης διακοσάδας tweets
...200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 789426483689295871
...400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 785047781417377791
...600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 780789828057239551
...800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 775729240545357823
...1000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 770651580571975679
...1200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 764575347266424834
...1400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 761131868548919295
...1600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 756986079568400383
...1800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 752541960846573567
...2000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 747772396342489087
...2200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 741361618538352639
...2400 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 735907246350204929
...2600 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 728951546722029567
...2800 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 720184785071710207
...3000 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 715490103137685504
...3200 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 710223948286455809
...3219 tweets έχουν ληφθεί μέχρι τώρα
Λήψη της επόμενης διακοσάδας tweets μέχρι πριν το 709874471558127615
...3219 tweets έχουν ληφθεί μέχρι τώρα
Τα tweets εγγράφηκαν στο αρχείο rachelmakri_tweets.csv
Η λήψη tweets για το λογαριασμό rachelmakri ολοκληρώθηκε
-------------------------------
Η λήψη tweets για όλους τους λογαριασμούς ολοκληρώθηκε

Μόλις ολοκληρωθεί η εκτέλεση έχουν εγγραφεί τρία αρχεία:

Επειδή τα παραπάνω αρχεία είναι τεράστια και το GitHub δεν μπορεί να τα απεικονίσει ως λογιστικά φύλλα, μπορείτε να δείτε ένα δείγμα:

rachelmakri_tweets-sample.csv

(Στο κάτω μέρος έχει γραμμή κύλισης και μετατοπίζοντάς την μπορείτε να δείτε και τα υπόλοιπα πεδία).

Με τη συλλογή των τεσσάρων αρχείων ολοκληρώνεται η λειτουργία του προγράμματος και η πρώτη φάση της εργασίας.

Για ανάλυση των αποτελεσμάτων δείτε την επόμενη σελίδα README2.md.