依頼の背景
昨年末に、通っているビリヤード場の常連の方から、「好きな画家の着想にはフォローし始めたユーザーの考えが影響しているのではないか」という仮説を検証するために、「特定ユーザーがフォローしているユーザーを取得し、いつフォローし始めたかを整理するプログラムができないか」を依頼されました。
実際のツールイメージをもとに、10分程度の打合せを2度行うことで、完成しました。
システム要件・対応概要
対応スケジュール
2019年12月中旬から2020年1月上旬(うち作業工数は4人日)
※作業工数は実績ベースで計測しているわけではなく、あくまで感覚値です。(トータルしたら4日くらいかぁ程度)
業務要件(実現したいこと)
- 取得したいユーザーのIDが記載されたExcelファイルのシートから対象者を抽出
- それぞれのユーザーについて、 フォローしているユーザーの①名前、②URL、③フォロー日を取得
- 取得結果をユーザーごとにシートを分けて出力
実装の難所
実装しようと思った時に、特に頭を使った点は以下2点。
その他にも処理速度の問題で、実装方式をどれにするかで迷った点は多々ありましたが。。
- ②URLについて、Twitter APIで取得できる情報ではないので、どのような考え方で整理するか。
- 基本的にフォローしている人は変動しないことが多いため、新たにフォローしはじめた人と、元々フォローしていた人をどのように峻別し、③フォロー日を整理するか。
実現方式
上記の難所に対して、以下の通りそれぞれ対応することで解決しました。
- ②URLについては、TwitterのURLが生成される法則性から、PythonにてURLとなる文字列を作成し出力
- 元々作成されていたDataframeと、アプリを動かした日の最新情報に係るDataframeを突合、重複等を判別の上、差分に対してのみ日付を挿入
実際のツール挙動
以下のように「取得リスト」シートに、対象のユーザーIDを入力しておくことで、
シート毎に情報を出力するツールが完成しました。(サンプルは当方のIDを用いて動かしています。)
終わりに
身近なことでも、そんなに時間をかけることなく、自動化をすることができます。かくいう自分も、やってみて案外できることに驚きを隠せませんでした。
ちょっと自動化できたら楽だな~と思っていることがあれば、こちらのお問い合わせフォームからご連絡いただければ幸いです。
これからは、Pythonについて少しずつブログでも触れていければと思っています!