Pythonで自分のツイートをすべて取得する方法と、いいねが多いツイートの特徴

Python
Nishipy
本ブログ用に作ったTwitterアカウントのフォロワーが1000人を超えました!
良い節目ですので、自分の今までのツイートをスクレイピングします。
そして、”いいね”数が多いツイートの傾向について、見ていきます。

1. はじめに

1.1. 今回やりたいこと

今回やりたいことは、次の通りです。

  • TwitterのAPIを用いて、自分(@iamnishipy)の全ツイートを取得する
  • “いいね”されやすいツイートについて、考察する
  • 文字数の多いツイートは、”いいね”が多い?
  • 画像付きのツイートは、”いいね”が多い?
  • ブログへのリンク付きのツイートは、”いいね”が多い?

1.2. Twitter APIとは?

前回にまとめましたので、ご覧ください。

[初心者向け]TwitterのAPIを使う方法!開発者アカウント申請と認証情報取得
NishipyTwitterのAPIを使うまでの手順を解説します。いいねの数や、リツイートの数をAPIで取得できるので、SNSを用いたマーケティング等にも活かしたいですね。1. Twitter APIとは?APIとは、「アプ...(続く)


前回得た以下の情報を使って、APIを使っていきます。

  • API key
  • API secret key
  • Access token
  • Access token secret

1.3. 注意

この記事を書いている時点では、500ツイートくらいしかしていません。
標本数が少ないため、有意義な考察ができていませんが、暖かく見守ってください。


2. 自分(@iamnishipy)の全ツイートを取得する

では早速、Twitter APIを使って、自分の全ツイートを取得してみます。

2.1. 認証情報を別ファイルで定義しておく

1.2節で取得した値は、誰にも知られてはなりません。
今回は暗号化はしませんが、間違ってクラウド上にアップロードしてしまわないように、別ファイルに書くこととします。
ここでは、[twitter_api.py]という名前のファイルにしてみます。

2.2. Twitter APIの認証情報を設定する

以下では、先ほどとは別ファイルで行います。
[twitter_api.py]とこれから作成するファイルは、同一フォルダに入れることに、注意してください。

2.3. 自分のツイートを全て取得する

認証情報を設定できたら、自分のツイートを全て取得してみます。
tweepy.user_timeline()を使いますが、一度に200件しか取得できないようなので、少し工夫します。こちらのコードを参考にしました。
→ https://gist.github.com/yanofsky/5436496

各ツイートに関して、以下のような情報を取得し、csvに書き出します。

  • ツイートの内容
  • ツイートした文字数(URL除く)
  • いいね数
  • リツイート数
  • 画像付きか否か
  • ブログへのリンク付きか否か

こんな感じで出力されます。


3. “いいね”されやすいツイートについて

ここからは、簡単にデータをみていきます。

3.1. DataFrameにぶち込む

3.2. 簡単な考察

seabornの練習に、グラフを書いていきます。

(1) 文字数の多いツイートは、”いいね”数が多い?

散布図を書いてみます。


相関はない気がする。

(2) ブログへのリンク付きのツイートは、”いいね”数が多い?

平均値と標準誤差を図示します。


リンク付きの方が、”いいね”数は多そう。

(3) 画像付きのツイートは、”いいね”数が多い?

同様に、平均値と標準誤差を図示します。


画像付きのツイートは、”いいね”数がかなり多そうです!

4. 最後に

4.1. まとめ

  • Twitter APIを使った
  • 画像付きツイートの”いいね”が多いことがわかった
  • Twitterアナリティクスがいかに便利かわかった

4.2. これからやりたいこと

  • いっぱいツイートして、標本数を多くする
  • “いいね”数を予測できるモデルを構築する
  • 特徴量をひらめき、取得方法を実装する


[Python]モンテカルロ法で円周率を近似してみる
NishipyPython歴2ヶ月位の私が、とあるきっかけで、モンテカルロ法を思い出しました。懐かしいのでPythonで実装してみて、円周率(π)を近似してみます。図を描く練習にもなりました。1. きっかけPythonを...(続く)
404 NOT FOUND | Nishipy Notes

以上

コメント