[PYTHON] Vielleicht können Sie mit Twitter Scraper kratzen

Es wird mühsam, die Twitter-API selbst vorzubereiten, aber ich denke, Sie möchten vielleicht Twitter kratzen. Es gibt (wahrscheinlich) eine Python-Bibliothek namens Twitter Scraper in OSS.

Einführung

Twitter erlaubt kein Scraping ohne vorherige Zustimmung von Twitter. Daher ist dieser Artikel ein imaginärer Artikel, der so verwendet werden kann. (Ich werde eine vorbeugende Linie aufstellen)

(iii) Zugriff auf den Service auf andere Weise (automatisch oder auf andere Weise), ohne über unsere derzeit verfügbare öffentliche Schnittstelle von Twitter (und vorbehaltlich der geltenden Nutzungsbedingungen) zuzugreifen. Oder führen Sie die Suche durch oder versuchen Sie, darauf zuzugreifen oder zu suchen. Dies ist jedoch nicht der Fall, wenn ein separater Vertrag mit Twitter dies ausdrücklich zulässt (Hinweis: Das Crawlen des Dienstes ist gemäß der Datei robots.txt zulässig. Das Scraping des Dienstes ohne vorherige Zustimmung von Twitter ist ausdrücklich untersagt. https://twitter.com/ja/tos/previous/version_9

Wer dies sieht und versucht, es zu benutzen, ist auf eigenes Risiko.

Was du machen willst

Aikatsu auf Parade in der Oktober 2019 Ausgabe von Comptique! Sonderartikel wurde veröffentlicht. Unter ihnen gibt es einen Plan namens "Aikatsu on Parade Emergency Reader Questionnaire", und ein Fragebogen wurde für einen kurzen Zeitraum von 18:00 Uhr am 23. August 2019 bis 17:59 Uhr am 25. August 2019 auf Twitter durchgeführt. Ich tat.

Ich wollte es tun, wenn ich es als Sammlung der Fragebogenantworten verwenden könnte.

Implementierung

from twitterscraper import query_tweets
import datetime as dt
import pandas as pd


# input
begin_date = dt.date(2019,8,23)
end_date = dt.date(2019,9,1)
pool_size = (end_date - begin_date).days

#Tweets sammeln
tweets = query_tweets("#Comp Eye Cutlet Fragebogen", begindate=begin_date, enddate=end_date, poolsize=pool_size, lang="ja")

tuple_tweet=[(tweet.user_id, tweet.text.replace("\n","\t"), tweet.timestamp) for tweet in tweets]
#Da der Tweet dupliziert ist, löschen Sie ihn
df = pd.DataFrame(set(tuple_tweet), columns=['user_id', 'tweet', 'post'])

df.sort_values('post').reset_index(drop=True)

Da die gewünschten Informationen nur den Inhalt des Tweets enthalten, werden unnötige Benutzernamen und die Anzahl der Retweets entfernt.

Da danach als Vorverarbeitung Formungsarbeiten erforderlich sind, werden die Zeilenumbrüche in Tabulatortrennzeichen geändert, um die Arbeit zu erleichtern.

Beachten Sie, dass Twitter Scraper Datensätze dupliziert, wenn Sie einfach versuchen, sie zu verarbeiten. (Auf den ersten Blick scheinen die Perioden "Begindate" und "Enddate" nicht dupliziert werden zu können, aber ich kenne die Details nicht.) Daher werden Duplikate mit set gelöscht.

Ich war mir auch bei "poolsize" nicht sicher, aber soweit ich aus der internen Verarbeitung ersehen kann, muss der Zeitraum von seit und bis festgelegt werden, und der Standardwert ist 20. Wenn Sie also den Standardwert so verwenden, wie er ist, werden die Daten desselben Tages generiert Ende Legt das Startdatum fest.

Schließlich

"Aikatsu auf Parade! 』Ist ** TV Tokyo System Jeden Samstag ab 10:30 Uhr BS Tele East Jeden Montag ab 17 Uhr ** Ist jetzt in der Luft!

Die Analyseergebnisse werden auch im Hatena-Blog veröffentlicht. Wenn Sie also interessiert sind, lesen Sie diese bitte ebenfalls.

Was sind die beliebtesten Charaktere in der "Aikatsu!" - Serie mit insgesamt 816 Stimmen

Schauen Sie sich die 30 beliebtesten Folgen der "Aikatsu!" - Serie mit insgesamt 1036 Stimmen an

Recommended Posts

Vielleicht können Sie mit Twitter Scraper kratzen
Suchen Sie Twitter mit Python
Analysieren Sie die Antwort, damit Sie Wantedlys eigene Geschichte abkratzen können