Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Twitter
Code

Erstellen mit der Twitter API: Analysieren Sie Ihre Follower

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Building With the Twitter API.
Building With the Twitter API: Creating Friends to Follow
Using the Twitter API to Tweet Repetitive Content

German (Deutsch) translation by Wei Zhang (you can also view the original English article)

Final product image
What You'll Be Creating

Einführung

Willkommen in der neuesten Folge unserer Twitter API-Serie. In unserer letzten Episode habe ich Twixxr.com gebaut, mit dem du einflussreiche Frauen auf Twitter entdecken kannst, damit dein Konto folgen kann. Heute werde ich den Fokus nach innen richten, um meine eigenen Anhänger zu betrachten.

Während ich Facebook seit 2013 nicht wirklich genutzt habe, bin ich auf Twitter aktiv geblieben - selbst als sie meinen Feed mit Werbung pumpten und mich ärgerten, indem ich versuchte, sie algorithmisch zu optimieren.

Vor kurzem wurde ich verifiziert und fing an, Anhänger in einer etwas schnelleren Rate zu sammeln. Ich hatte die Hoffnung, dass ich mehr Antworten auf meine Tweets sehen würde. Im Allgemeinen war ich überrascht, wie wenig Reaktion normalerweise auf Twitter für die durchschnittliche Person ist.

Building With the Twitter API reifman profile on twitter with verified checkmark

Ich habe fast 1.900 Anhänger, aber selten kommentieren oder retweeten die Stücke, die ich für wichtig und von allgemeinem Interesse halte. Zum Beispiel teilte keine einzige Person mein Stück über die scharfe Spitze der Vergewaltigungsberichte in Seattle oder den Kommentar zu Bill Gates in seiner unverschämt scheinheiligsten Art.

Lange wollte ich mir meine Twitter-Follower genauer ansehen und einige Fragen beantworten: Wer genau folgt mir? Und warum sind sie nicht interaktiver? Ist es möglich, dass nur 10% meiner Anhänger echte Menschen sind?

Twitter hat Probleme, einen Käufer zu finden, und vielleicht hat das etwas damit zu tun.

Die Twitter-API ist ein gutes Werkzeug, um dies zu untersuchen. Aber es hat eine Menge Ratenbegrenzungen, die sogar etwas so einfaches wie die Analyse Ihrer Follower ziemlich komplex machen. In der heutigen Folge zeige ich Ihnen, wie ich mit den Grenzwerten gearbeitet habe, um eine Anzeigetafel meiner Anhänger zu bewerten und zu erstellen.

Wenn Sie Fragen oder Feedback haben, bitte posten Sie sie unten in den Kommentaren oder erreichen Sie mich auf Twitter @reifman.

Analysieren Sie unsere Twitter Follower

Building With the Twitter API Initial scoreboard

Direkt darüber kannst du die grundlegende Anzeigetafel sehen, die ich erstellt habe. Die heutige Folge wird sich hauptsächlich auf die Infrastruktur und den Ansatz konzentrieren, den ich für die Erstellung dieses Themas verwendet habe. Ich hoffe, dass ich eine Chance bekomme, mehr über die Verbesserung des Punktemechanismus zu schreiben.

Und ja, wie Sie oben sehen können, folgt der bekannte Gay-Rights-Führer und Sex-Rat-Kolumnist Dan Savage mir, aber rettet nie etwas, das ich teile. Wenn heute Zeit ist, analysieren wir dies, um wichtige Fragen zu beantworten, wie zum Beispiel: Ist er echt, ein Bot, oder folge ich einfach nur meinem persönlichen Sex-Ratschlag? Was können wir aus seinem Bericht lernen, um festzustellen, ob er wahrscheinlich jemals mit mir auf Twitter oder mit anderen meinen Followern interagiert?

Der Scoreboard-Code ist hauptsächlich ein Prototyp, den ich auf den Twixxr-Code der letzten Episode gebaut habe, aber es ist keine Live-Demo für Leute, die es benutzen. Ich teile es, damit du daraus lernen und darauf aufbauen kannst.

Hier sind die grundlegenden Elemente des Codes:

  • Erstellen der Datenbank zum Speichern meiner Follower und verwandter Daten
  • Laden Sie meine Follower auf Seiten mit je 20 Followern herunter.
  • Tracking der Cursor für die Seiten, während ich 15 Seiten pro Rate-limited-Fenster herunterladen.
  • Speichern von gesammelten Daten über meine Follower in der Datenbank.
  • Erstellen eines Prototyp-Scoring-Algorithmus, um alle Follower zu bewerten.
  • Erstellen einer Ansicht zum Durchsuchen der Anzeigetafel.

Tauchen in den Code ein

Erstellen der Datenbanktabellenmigrationen

Ich habe drei verschiedene Tabellen erstellt, um alle Daten zu speichern und mir dabei zu helfen, mit der Twitter-API-Ratenbegrenzung zu arbeiten. Wenn Sie mit Yii-Datenbankmigrationen nicht vertraut sind, lesen Sie bitte Wie Sie mit Yii2 programmieren: Mit der Datenbank und dem aktiven Datensatz arbeiten.

Zuerst habe ich die SocialProfile-Tabelle erweitert, um viel mehr Daten von den Follower-Accounts zu erfassen, z. B. ob sie verifiziert sind, ihren Standort und wie viele Artikel sie bevorzugt haben:

Dann habe ich eine Indextabelle namens SocialFriend erstellt, um Follower für bestimmte Accounts zu verfolgen. Wenn ich mich entscheide, diesen Service öffentlich zu formalisieren, brauche ich das. Er verknüpft die Tabelle Benutzer mit den Followern des Benutzers in der Tabelle SocialProfile.

Als Nächstes erfordert die Twitter-API, dass Sie Anforderungen von jeweils 20 Follower gleichzeitig durchblättern. Um die nächste Seite zu kennen, müssen Sie die Cursor verfolgen, im Wesentlichen Tags, die die nächste Seite markieren, die abgerufen werden soll.

Da Sie alle 15 Minuten nur 15 Anfragen für Follower stellen dürfen, müssen Sie diese Cursor in der Datenbank speichern. Die Tabelle heißt SocialCursor:

Schließlich werde ich Hintergrund-Cron-Aufgaben erstellen, um all das zu verwalten, aber für den heutigen Prototyp führe ich diese Aufgaben von Hand aus.

Sammeln der Follower und ihrer Kontodaten

Als nächstes habe ich eine Methode Twitter::getFollowers() erstellt, um die Anfrage zu stellen. Hier sind die Grundlagen des Codes:

Er ruft den next_cursor ab und fragt wiederholt nach Followern, $followers=$this->connection->get("followers/list",['cursor'=>$next_cursor]), bis er die Ratengrenzen erreicht.

Die Ausgabe sieht ungefähr so aus, als würde sie jede Seite mit 20 Ergebnissen durchlaufen:

Die Daten werden von diesen $sp->add($ user_id,$u);gespeichert; Methoden. Die Methode SocialProfile::add() ist eine andere Version der Methode fill() aus dem Twixxr-Lernprogramm. Es speichert mehr Daten und verwaltet den SocialFriend-Index:

Es wurde geschrieben, um neue Datensätze zu speichern oder alte Datensätze zu aktualisieren, so dass Sie in Zukunft Ihre Follower-Daten verfolgen und diese regelmäßig aktualisieren und alte Daten überschreiben können.

Dieser letzte Abschnitt am Ende stellt sicher, dass ein SocialFriend-Index zwischen der Benutzertabelle und der Tabelle SocialProfile vorhanden ist.

Twitter Follower zu zählen

Building With the Twitter API - Accounts with huge numbers of friends unlikely to read my tweets

Ich hatte eine Handvoll Ziele für mein Twitter-Scoring:

  • Eliminiere Accounts, die jedem folgen, der ihnen folgt. Zum Beispiel haben sie 12.548 Anhänger und folgen 12.392 Menschen (siehe oben).
  • Eliminiere Accounts, die mehr als 1.500 Accounts folgen, die wahrscheinlich nie sehen werden, was ich teile. Zum Beispiel folgt Dan Savage 1.536 Menschen.
  • Beseitigen Sie Konten mit sehr wenigen Posts oder sehr wenigen Konten, die sie wahrscheinlich verlassen haben.
  • Beseitigen Sie Konten mit wenigen Favoriten - das sind wahrscheinlich Bots, die die App nicht wirklich nutzen.

Ebenso möchte ich einige positive Aspekte hervorheben:

  • Konten, die überprüft werden
  • Konten, die viele Follower haben
  • Konten, die weniger als 1.000 Personen haben, denen sie folgen - ein guter Punkt für mich

Hier ist ein grober grundlegender Code von SocialProfile ::score(), der einige der positiven Aspekte hervorhebt:

Hier ist ein Code, der einige der fehlerhaften Konten entfernt:

Offensichtlich gibt es hier eine Menge zu spielen und eine Vielzahl von Möglichkeiten, dies zu verbessern. Ich hoffe, ich bekomme eine Chance, mehr Zeit dafür zu haben.

Wenn die Methode ausgeführt wird, sieht das so aus, aktualisiert jedoch die Tabelle "SocialProfile" mit den Scores:

Anzeige des Anzeigers

Das Standardraster von Yii macht es sehr einfach, die Tabelle SocialProfile anzuzeigen und die Spalten der Anzeigetafeln anzupassen.

Hier ist SocialProfileController::actionIndex ():

Und hier ist die Rasteransicht angepasst:

So sehen die Top-Scores mit meinem ursprünglichen Algorithmus aus:

Building With the Twitter API - Top Scoring Accounts

Es gibt so viele Möglichkeiten, das Scoring zu verbessern und zu optimieren. Ich freue mich darauf, mehr damit zu spielen.

Darüber hinaus möchte ich Code schreiben und meine Nutzung der API erweitern, zum Beispiel:

  • Verwenden Sie PHP Gender, um Unternehmen von Personen zu eliminieren (Unternehmen interagieren nicht viel).
  • Schlage die Häufigkeit von Posts nach, die Leute gemacht haben und das letzte Mal, als sie Twitter benutzt haben.
  • Verwenden Sie die Such-API von Twitter, um zu sehen, welche Follower tatsächlich jemals mit meinen Inhalten interagiert haben.
  • Geben Sie der Bewertung Feedback, um sie abzustimmen.

Vorausschauen

Ich hoffe, Sie finden den Scoring-Ansatz faszinierend. Es gibt so viel mehr, was getan werden kann, um dies zu verbessern. Bitte fühlen Sie sich frei, damit zu spielen und Ihre Ideen unten zu posten.

Wenn Sie Fragen oder Anregungen haben, schreiben Sie diese bitte in die Kommentare. Wenn Sie mit meinen zukünftigen Envato Tuts + Tutorials und anderen Serien fortfahren möchten, besuchen Sie bitte meine Instructor-Seite oder folgen Sie @reifman. Sehen Sie sich auf jeden Fall meine Startup-Serie und den Meeting Planner an.

verwandte Links

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.