[Tweepy] Re: Twitter Bot Entwicklungsleben ab Null # 1 [Python]

zunaechst

Wir gehen davon aus, dass die Installation von tweepy bereits abgeschlossen ist.

Entwicklungsumgebung

python-3.8.5 tweepy-3.9.0 editor-Atom

Für Anfänger in der Programmierung

Obwohl der Herr ein Anfänger ist, hat er einige Erfahrungen. Wenn Sie ein absoluter Anfänger sind, lesen Sie bitte andere Artikel, erwerben Sie Grundkenntnisse und kehren Sie dann wieder zurück.

Hauptgeschichte

Dann ist es die Hauptgeschichte.

Code

Erforderlicher Code

System importieren


import tweepy

Tokensystem


CONSUMER_KEY = "Geben Sie hier die entsprechende Zeichenfolge ein"
CONSUMER_SECRET = ""
ACCESS_KEY = ""
ACCESS_SECRET = ""

Andere


auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

Code, um tatsächlich zu schreiben

Dieses Mal werde ich den Code schreiben, um 10 Tweets ohne Antworten und Retweets zu drucken.

Das ganze


a = 0
public_tweets = api.home_timeline()
for tweet in public_tweets:
    if a < 10:
        if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
            pass
        else:
            print(' ')
            print('-----------------')
            print(' ')
            print(tweet.text)
            a += 1
Kommentar

Die erste Zeile


a = 0

Definition erforderlich, um nach 10 Operationen zu beenden.

2. Zeile


public_tweets = api.home_timeline()

Ich beschäftige mich mit "public_tweets", um das Aufrufen von "api.home_timeline ()" zu vereinfachen.

3. Zeile


for tweet in public_tweets:

Es ist ein Typ, der das erworbene Tweet-Objekt in eine Variable namens "Tweet" einfügt.

4. Zeile


if a < 10:

Überprüfen Sie, ob der Vorgang 10 Mal unterdrückt werden soll. Die erste Zeile ist erforderlich.

5,6. Zeile


if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
    pass

Derjenige, der ignoriert werden muss, wenn es sich um einen Retweet oder einen Antwort-Tweet handelt. Grundsätzlich, wenn Sie einen Retweet drucken oder einen Tweet mit "tweet.text" beantworten RT @ User ID Message Content Oder @User ID message content Es ist so, dass RT oder @ am Anfang hinzugefügt wird, also dient es der Beurteilung.

7~12. Zeile


else:
    print(' ')
    print('-----------------')
    print(' ')
    print(tweet.text)
    a += 1

else: funktioniert, wenn die Bedingungen in den Zeilen 5 und 6 nicht erfüllt sind. Die drei obersten Druckzeilen müssen nicht diejenigen sein, um die Unterscheidung der erfassten Tweet-Inhalte zu erleichtern. print (tweet.text) druckt den Inhalt des Tweets. a + = 1 ist derjenige, der 1 zum numerischen Wert der Variablen mit dem Namen a addiert. Erforderlicher Code, um zu überprüfen, wie oft es funktioniert hat.

Übrigens, wenn Sie dies bedienen,


-----------------

Nachrichteninhalt 1(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 2(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 3(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 4(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 5(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 6(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 7(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 8(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 9(Ich werde es für alle Fälle verstecken)

-----------------

Nachrichteninhalt 10(Ich werde es für alle Fälle verstecken)

Es wird sein.

Nächster

Als nächstes fügen wir die Funktion zum Anzeigen des Benutzernamens hinzu. Das Ausführungsergebnis ist

-------

Nutzername
|
Tweet Inhalt

-------
.
.
.

Ich werde versuchen zu sein. Schreiben wir den Code sofort. Ich denke nicht, dass es so schwierig ist, weil ich nur ein wenig hinzufüge. Hoher Code pon

a = 0
public_tweets = api.home_timeline()
for tweet in public_tweets:
    if a < 10:
        if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
            pass
        else:
            print(' ')
            print('-----------------')
            print(' ')
            print(tweet.user.name)
            print('|')
            print(tweet.text)
            a += 1

Bis zur 7. Zeile ist das gleiche, also schlagen Sie es und Pop

print(' ')
print('-----------------')
print(' ')
print(tweet.user.name)
print('|')
print(tweet.text)
a += 1

Das einzige, was sich geändert hat, ist die 4. und 5. Zeile! Und einfach hinzufügen! Keine Löschung! Ich denke nicht, dass dies besonders erklärt werden muss, also benutze den Pfad. Das Ausführungsergebnis sieht so aus

Ausführungsergebnis



-----------------

Benutzername 1(Keine Benutzer-ID)
|
Nachrichteninhalt 1(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 2(Keine Benutzer-ID)
|
Nachrichteninhalt 2(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 3(Keine Benutzer-ID)
|
Nachrichteninhalt 3(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 4(Keine Benutzer-ID)
|
Nachrichteninhalt 4(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 5(Keine Benutzer-ID)
|
Nachrichteninhalt 5(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 6(Keine Benutzer-ID)
|
Nachrichteninhalt 6(Ich werde es für alle Fälle verstecken)

-----------------

Benutzername 7(Keine Benutzer-ID)
|
Nachrichteninhalt 7(Ich werde es für alle Fälle verstecken)

Das? Kannst du nur 7 Tweets bekommen? ?? Korrekt. Diesmal habe ich nur 7 Tweets bekommen. Eine mögliche Ursache,

Bevor ich 10 Tweets erhalten konnte, die diese Bedingung erfüllen, war die Anzahl der Tweets, die ich erhalten konnte, begrenzt.

Vielleicht ist das die Ursache. Ich denke, das Ergebnis wird sich ändern, wenn Sie es noch ein paar Mal tun. ~~ Ich werde es nicht tun, weil es nervt. ~~

Letztes Ooo! !! !!

Die letzte Herausforderung besteht darin, Ihre Twitter-ID rechts von Ihrem Benutzernamen zu schreiben! !! Ich möchte diese Zeit damit beenden. Dann sofort. Dieses Mal werde ich aus dem Denken schreiben

Zunächst möchte ich den Benutzernamen und die Twitter-ID in dieselbe Spalte schreiben, daher muss ich einige Variablen festlegen. (Nun, es gibt eine Möglichkeit, dies ohne Verwendung von Variablen zu tun.) Dieses Mal werden wir eine Variable namens "Name" verwenden.

name = tweet.user.name

Wie ich zuvor, wird dies den Benutzernamen erhalten. Und als nächstes. Holen Sie sich die UserID. Ich weiß nicht, wo ich es bekommen soll, also wenn ich nach Objekt suche ... Es gab so etwas wie "screen_name". Wenn ich versuche, auf Twitter zu suchen ...

Ja, es hat funktioniert. (Es gibt kein Bild, da es sich um eine Benutzer-ID eines Fremden handelt.) Also fand ich heraus, dass ich damit eine Twitter-ID erhalten kann. Dann ist es einfach. Kombiniere diese Jungs ...

name = tweet.user.name + ':@' + tweet.user.screen_name

Vielleicht funktioniert das! Das Ergebnis des Ausprobierens ...

Ausführungsergebnis



-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 1(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 2(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 3(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 4(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 5(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 6(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 7(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 8(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 9(Ich werde es für alle Fälle verstecken)

-----------------

Nutzername:@TwitterID
|
Nachrichteninhalt 10(Ich werde es für alle Fälle verstecken)

Ja, es hat funktioniert. Es ist wahrscheinlich Sorya.

Schließlich

Nun, diesmal möchte ich damit enden. Das nächste Mal möchte ich es aktualisieren, sobald ich mir vorstellen kann, was ich machen möchte.

Das Schreiben von Qiita verbessert die Schreibstabilität und ich denke, dass sich die Schreibfähigkeiten verbessern werden, also ist es gut. Sie können sich selbst noch besser kennenlernen, indem Sie andere unterrichten. Sind es nicht drei Fliegen mit einer Klappe?

Bitte schreiben Sie auf jeden Fall einen Artikel! Dann Noshi

Betreff: Twitter Bot Development Life Series ab Null

\ # 1 Dieser Artikel \ # 2 * Vorbereiten *

・ Sobald diese Serie aktualisiert ist, werden wir sie nach Bedarf aktualisieren.

Recommended Posts

[Tweepy] Re: Twitter Bot Entwicklungsleben ab Null # 1 [Python]
Betreff: Wettbewerbsfähiges Programmierleben ab Null Kapitel 1.2 "Python der Tränen"
Betreff: Wettbewerbsfähiges Programmierleben ab Null Kapitel 1.3 "Beilagentee"
Tweet von Python mit Twitter Developer + Tweepy
Aufbau einer explosiven Python-Umgebung ab Null (Mac)
Betreff: Wettbewerbsfähige Programmierlebensdauer ab Null Kapitel 1 1 "Nur C ++ kann verwendet werden"
[Python] Lesen des Django-Quellcodes Ansicht ab Null ①
ChIP-seq-Analyse ab Null
[Für Anfänger] Re: Genetischer Algorithmus ab Null [Künstliche Intelligenz]
Re: Heroku Leben von Grund auf neu mit Flask ~ PhantomJS bis Heroku ~
[Lambda] [Python] Von Lambda auf Twitter posten!
Code Wars Kata ab Null
Holen Sie sich Daten von Twitter mit Tweepy
Re: Heroku Leben von vorne anfangen mit Flask ~ Selenium & PhantomJS & Beautifulsoup ~
Re: Heroku Leben beginnt mit Flask von Null - Umwelt und Hallo Welt -
Sammeln von Informationen von Twitter mit Python (Twitter API)
"Python AI Programmierung" ab 0 für Windows
Geschäftseffizienz von Grund auf mit Python
Machen wir einen Twitter-Bot mit Python!