【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

2019 05 12 3.27.08 728x455 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

前回の記事で、seleniumを利用したTwitterへの自動ログインのプログラムをご紹介しました。

Twitterでも記事に関するツイートをしたところ、エンジニアの方々から反応が良い引用リツイートを頂きました。
やはり、すでにエンジニアとして動き出している人は、こういった自動化などへの興味・関心が高いことが分かります。

 

2019 05 12 1.13.46 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

 

2019 05 12 1.13.46 2 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

 

私自身もseleniumを活用して、Web操作によるUIテストなどに利用しています。

前回の記事を以下に掲載しますので、ご興味のある人はぜひ一読して頂けたら幸いです。
seleniumに関する内容や利用するまでの環境構築、ログイン自動化(Twitter)のコードなど記載しています。

【初心者のpython入門】seleniumでログイン自動化!〜Twitter編〜

それでは、本記事では続きとして、seleniumによるTwitter上のフォロー自動化を解説していきます。

 


汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料と

コーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。

初心者・入門者でも30日間で学習できるおすすめPython学習方法

 

1. seleniumの活用方法について

seleniumによるTwitter上のフォロー自動化を解説する前に、読者の方でseleniumの活用方法がいまいち分からないという人もいらっしゃると思います。

そこで、ここではseleniumが利用できるようになるとどういったことに活用でき、価値を生み出していけるのかをざっくりお話します。

seleniumを端的に説明すると、ブラウザ上の操作をプログラムによって自動的に操作するためのものになります。

このseleniumを利用できるようになると以下の項目を行えるようになります。

1. ブラウザ上の操作を自動化

2. スクレイピング技術と連携させデータ抽出

3. 様々な業務効率化が図れる

4. 収益を生み出すことができる

ざっくりとした項目を挙げていますが、おそらく1番と3番に関してはイメージできるかと思います。

ただ、2番と4番に関しては、いまいちピンとこないという人もいらっしゃると思います。

それでは、具体的に2番と4番を説明していきます。

 

2. seleniumによる自動化などは需要がある

seleniumよる自動化は、単純に作業効率がよくなるというメリットだけではありません。

活用方法をよく考えれば収益までたどり着くことも可能になります。

以下の画像では、クラウドソーシングで有名なランサーズの依頼内容を貼り付けています。

2019 05 12 1.48.04 1024x514 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜 2019 05 12 1.48.22 1024x515 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

 

2019 05 12 1.48.33 1024x515 - 【初心者のpython入門】seleniumでフォロー自動化!〜Twitter編〜

プログラミングといってもスクレイピング(データ抽出すること)やブラウザ操作を自動化させるseleniumなどを利用できるだけでも、収益に繋げることもできます。

実際にクラウドソーシングで「データ収集・入力・リスト作成」といった項目などを調べると、とても簡単な仕事はすぐに見つかります。

プログラミングは学習内容の基準値などが求められる人材によって変化するので、一概にここまでできるようになるべきだという線引きがありません。

ただ、非常に簡単な作業も自動化できれば、時間をかけず小さな金額を稼ぐことができます。

プログラムを作成しながら、実務をこなすのにこういった案件は活用しやすいと思います。

また、最悪の場合でプログラムが完成しなくても、このような案件は手動でなんとかこなせるものばかりなので、安心して引き受けることもできます。

このように、プログラムによるちょっとした自動化は、収益に繋げられる領域があるということです。

まさに誰かのための業務効率化を図ってあげられるわけですね。

 

3. seleniumによるフォロー自動化のプログラム

それでは、本記事のメインに移っていきます。

ここでは、あくまでフォロー自動化を行うことにフォーカスしていきます。
もちろん、追加の機能などは読者の方がこれをベースに色々と思案していただき、活用していただければ幸いです。

前回同様、上記のコードではseleniumのインポート及び利用する各種モジュール(webdriver)を指定しています。
また、timeモジュールも利用します。

ブラウザ上の操作にて、画面表示が確実に行えるよう時間指定を行うためです。

こちらも前回同様、Twitterのアカウントを複数所持している可能性も考慮して、input関数にて指定できるようにしています。
ただし、今回はフォローするアカウントを特定の検索ワードにて見つけ出すため、検索ワードの変数も作成しています。

ここでは、driver変数にて、利用するwebdriverのパスを指定して起動させます。
指定するURLはもちろんツイッターです。

その後、findメソッドを利用して各要素を取得し、クリックや入力を実行していきます。

この時にクラスネームやxpath等を指定する必要があります。
これらを確かめて指定する必要があります。

前回はこのログインまででしたが、ここから検索ワードを用いて、アカウントを画面表示していきます。

検索ワードにて、Twitter上のテキストボックスに入力を行い、虫眼鏡アイコンを探し出し、虫眼鏡アイコンをクリックする操作となります。
また、確実に画面出力が行われるようtime.sleep()を利用して3秒間待ちます。

検索ワードにてTwitter上で検索しただけだと、アカウント一覧画面とはならないため、Twitter画面にある「ユーザー」ボタンを探し出し、クリックします。
こちらも同様、画面遷移中のため、3秒間待つようにしています。

最後に、検索ワードに関連したアカウント一覧画面まで表示できたところで、フォローを開始していきます。

フォローボタンを押下されていないアカウントに対して、画面内に表示されているアカウントをフォローしていきます。

以下に一連のプログラムの全体コードを記載しておきます。

とてもシンプルですが、とりあえずseleniumを利用してフォローまで行うことができました。

 

4. まとめ

実際に動作を確認した方は、フォローまでを自動で行うことを実感できたと思います。

これだけのコードで非常にシンプルですが、簡単にフォローすることができます。

ただ、シンプルなだけに課題なども挙げられます。
以下に追加機能として、いくつか項目を挙げておこうと思います。

1. フォロー数の制限

できればフォローする人数も決めることができれば、より利用したいプログラムになるかなと思います。
その際は、Twitterの画面で出力されるアカウント数が重要になります。

画面を下へとスクロールすれば、関連アカウントが次々と画面表示されるため、スクロール機能と並行してフォロー数の値を決めていけば、人数制限を用いたフォロー機能になるかと思います。

2. アンフォロー機能について

これは、すでにフォローしているアカウント一覧画面から、フォローボタンを解除するプログラムを作成すれば簡単に作れそうですね。
もちろん、フォローバックしてくれている人は除外するなど、条件付きも考慮する必要はありそうです。

3. いいね!機能について

こちらも、今回作成したフォロー機能を応用して簡単に作れるかと思います。
検索ワードにて、検索ワードに関連するツイート一覧画面を表示して、xpath等を変更すればできそうですね。

追加機能に関する提案内容含め、「selenium面白い!」と感じた人は、ぜひこれらを参考にしてガンガン自動化で遊んで欲しいです。

また、ここではTwitterに絞って解説していますが、別サイトでもxpath等を変更すれば、seleniumを活用できます。

そして、2章でも解説した通り、誰かの依頼内容に沿ったものさえ作成できれば、収益にも繋げられるのが自動化の魅力的なところでもあります。

ぜひ、色々と挑戦していただければなと思います。

最後まで一読していただき、ありがとうございました。

ABOUTこの記事をかいた人

sugi

大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、現在フリーランス活動中。 2019年2月から起業する予定。 自社サービス及び製品を開発し、売り上げを立てている。