コロナに負けるな!プログラミング&YouTubeで頑張る人が作るべきアプリ


コロナに負けるな!プログラミング&YouTubeで頑張る人が作るべきアプリ

なかなか納まる気配をみせないコロナウィルス。

長引く在宅勤務、不安に思う自分の将来、そして脳裏をよぎる 「プログラマー」 「転職」 「フリーランス」 というキーワード。

今回はプログラミングをはじめようかどうしようか悩んでいる方へのひと押しになればと思い、 Webアプリの作成事例をご紹介します。

ただただテレビを見て不安な時間を過ごすより、「個人×プログラミング」でできることって、ありますよ。

目次
  1. コロナに負けるな!プログラミング&YouTubeで頑張る人が作るべきアプリ
  2. Webアプリを作ろうと思った動機
  3. Webアプリの構成
  4. Webアプリの作成で大変だったところ
  5. Webアプリの開発にかかった時間
  6. 本Webアプリのプログラム
  7. まとめ

コロナに負けるな!プログラミング&YouTubeで頑張る人が作るべきアプリ

Webアプリを作ろうと思った動機

https://pythonchannel.com/myapp/youtuber/

巷では 「プログラミングを勉強したけど、作りたいものがない...」 という方も多いようですが、私の場合は 「 YouTube の お気に入り登録ボタン って自動で押せないかな?」 という不純な動機で本アプリの開発をスタート。

そもそもの お気に入り登録ボタン を自動で押したい理由は、自分のお気に入り登録数を増やすためで、お気に入りボタンを押せば相手に誰が押したか通知がいきますので、自分の「お気に入り」も押してもらいやすくなる、と思ったから。

そして 自動でお気に入りボタン は、いろいろ検証した結果、 selenium というスクレイピングを使えば実行できそうですが、恐らく途中でボット対策稼働で BAN。

この思ったようにいかなかった時、頭の中で条件分岐の if 文が登場し、 ここで諦めた場合と諦めなかった場合を予測...

「もともとはチョット不純な動機ではじめた お気に入りボタン の自動化だけど、コロナ長引いてるし、経済大変そうだし、 よし! プログラミング&YouTube で頑張っている人のリストアップ App を作ろう! お気に入り登録数 増えればみんないいよな」 と判断。

この先、 30時間かかってしまうとも知らずに....

YouTubeの主な収入源 "広告" は、お気に入り登録数 1,000 以上、 年間視聴時間 4,000時間 をクリアしたユーザーしか広告を表示できません。そのため多くの YouTuber がココロ半ばにやめてしまう傾向。

Webアプリの構成

今回の Webアプリのポイントは、大きく考えて 2つ。

  • YouTube でプログラミング情報を発信している人のリスト
  • そのリストを分かりやすい形で Web に表示し、 お気に入り登録 も押してもらいやすいように工夫

まず最初のリストアップ、これは YouTube API を使えばなんとかなりそう。実際に YouTube API の公式ドキュメントを確認してみると、ビデオ検索の他に チャンネル検索(ユーチューバー検索)やチャンネル情報取得機能も。結果的に以下の流れで特定キーワードのチャンネル(ユーチューバー)情報を取得し、そのユーザーの お気に入り登録数 や 最新のビデオをデータを確認。

「プログラミング」 で検索し、 2019年12月以降から動画配信を開始した人のデータリスト

次はこの取得したデータを見やすいように加工。例えば 上図のリストの UC〇〇・・・ という部分は、 YouTube ビデオの URL 部分(video ID)になりますので、 <iframe> でサンプル動画を表示可能。 お気に入りボタン を押してもらいやすくなりますね。

こうしたデータ取得からデータの加工処理までの作業、やはりフレームワークが扱いやすいでしょう。 WordPress でも処理できる内容とは思いますが、今後もアプリが増える可能性があるならフレームワーク。

今回は私のブログサイトで利用している Django(Python製フレームワーク) に本 Webアプリをセットしてみました。

Webアプリの作成で大変だったところ

image

まずデータ収集について "ビンゴ" で欲しい YouTube API の機能ってないんですよね。今回の場合は、

  • 「プログラミング」 に関する情報を 2019年 12月 以降配信し始めたユーザーさん
  • そしてそのユーザーさんのお気に入り登録数
  • そのユーザーさんのサンプル動画

という 3つの要素が欲しいわけです。

しかし、 YouTube API のドキュメントを見ても、 "ビンゴ" で上記 3つの情報を取得できる機能はなく、いくつかの関数と変数を渡り歩きながら処理する結果に。つまり、 公式ドキュメントを読むのに理系出身の私としては苦労しました。この作業は完全に 文系力 です。

そして取得したデータを Django で上手く処理できるように Python をはじめ、 HTML や CSS を... ここでも Django 特有のテンプレート機能がどこまで使えるかドキュメントを読むのに一苦労。 例えば Django に限らずですが、フレームワーク上では HTML ファイル内で ループ処理(繰り返し) をできます。今回はデータを CSV から読み込み、読み込んだデータリストを HTML で一覧表示。 "CSV から テンプレートへのループ処理" という例がないために、一苦労。

そしてやっと表示できたユーチューバーリストも、件数が多いために動画の読み込み(iframe処理)に時間が... 3秒ルールを掲げている Google の SEO に反してしまうため、このフロント部分でも読み込みの工夫に一苦労。

こうした教科書にはのっていない、前例のないようなプログラム処理、クリアできるポイントは "モチベーション" と "読む力" でしょう。

Webアプリの開発にかかった時間

clockify.me (フリーランスの時間管理を助けてくれる無料の Web App です)

いくつかの困難を乗り越えてようやく安定起動した YouTuberリストを表示する Webアプリ、開発にかかった時間はなんと 30時間。 1日 6時間とすると 1週間、なかなかですね。しかし、最初は 30時間かかったこの Web アプリも、ベースはできていますので "キーワード" を "自習" や "縄跳び"、 "とびばこ" と変えてユーチューバーをソートすることは簡単ですし、期間や国などいろいろ変更可能。市場のニーズをつかみ、機能とデザインを充実させれば マネタライズ も遠くありませんね。

本Webアプリのプログラム

処理内容を説明すると長くなりますので、とりあえず今回の "コロナに負けるな!プログラミングを頑張りながらYouTubeも頑張る人を応援しよう!" のプログラム、 GitHub にあげました。 Pyhton と Django、 HTML できる方はご参考下さい。 YouTube API のデータ処理では、難しい Python 文法を使うことなく、 平坦読み でイメージできる内容にしています。

YouTube API の操作方法については、 過去記事: 【データサイエンス】YouTubeのAPIを使ってYouTube内のデータを収集してみよう などを参考にしてみてください。

AIエンジニアに必要なスキルが身に付く

CodeCampの無料体験はこちら

まとめ

参考書などを元にローカル環境でプログラムするのに比べて、実際に作成したプログラムをサーバーにアップし、エラーハンドリングするのは本当に大変、と実感しました。今回の Webアプリは個人的なものなので特別プレッシャーなどはありませんが、これがクライアントの案件と思うとカナリ危険だったと...

プログラミングに興味あったり、既に始められた方の中には "将来はエンジニア" と思っている方もいらっしゃることでしょう。将来像は人それぞれと思いますが、基礎と経験(テストでも)がないと現場のプレッシャーには勝てないと思います。本気で考えている方は、本気でレッスンしている CodeCamp、参考にしてみませんか?

CodeCamp はオンラインのマンツーマンでレッスンしますので、 場所と時間に融通が効きます。 「ちょっと今日は早く帰れるな...」 という方、一度先生と一緒にプログラミング、楽しんでみて下さい。初回レッスンは 「無料体験」 でタダで試せますよ。


関連記事

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp