スクレイピング案件①実際のスクレイピング案件をやってみよう
このチュートリアルの学習内容
このチュートリアルでは、クラウドソーシングサイトに実際に存在するデータ収集案件にかなり類似した案件を、営業~要件定義、制作、納品までのプロセスを学習します。
実際に、クラウドソーシングサイト(クラウドワークス、ココナラなど)には、スクレイピングを発注する企業様が多数あり、比較的未経験でもスクレイピング案件はやりやすいです。単価も、5000円~10万円の案件があり、趣味でプログラミングをまなんでから、じっさいに簡単な仕事をやってみたい方には、非常におすすめです。
今回の案件イメージは、こちらです。
【急募・経験者歓迎】大手ポータルサイトのデータクローリング業務
固定報酬制:25,000円仕事の詳細
単発のデータリストとして、大手ポータルサイト(メディア系)のデータクローリングを実行して頂ける方を募集しております。
以下、詳細を記載いたしますので、ご確認ください。【依頼詳細】
大手ポータルサイト(メディア系)のデータクローリング業務【欲しいデータ】
こちらのアフィリエイト検索ナビから、データを収集します。
ここから
・案件名
・成果報酬
・取り扱いASP
を取得してください。
毎日更新されますので、日時でCSVをダウンロードできる形がよいです。
このチュートリアルを学習する前に必須の学習項目
このチュートリアルでは、
- HTML / CSSの基礎知識
- スクレイピングの基礎が理解できていること
- AWS Cloud9を利用して、Seleniumの環境構築が完了していること
が条件となります。まだ学習をしていない方は、以下のチュートリアルを進めてください。
学習手順
それでは、さっそく学習していきましょう。
実際の案件を獲得するまでの手順について、ざっとまとめていきたいと思います。
スクレイピング案件を獲得して、納品するまでは、以下のステップで学習を進めていくとよいでしょう。
- ポートフォリオを作る
- 提案営業する
- 要件定義する
- 実装する
- 納品する
ポートフォリオを作る
未経験から仕事を取るうえで、重要なのは、ポートフォリオです。
ポートフォリオとは、実際にプログラミングを利用した何かしらの成果物となります。
私自身、クラウドソーシングサイトで、仕事を発注していますが、「この人に仕事を任せて大丈夫か」を検討するうえで、
- 過去の業務経験・実績
- なければ、それに準ずるポートフォリオ
を、非常に重要視します。
一方で、未経験の方からすると、「はじめて案件を取るのに、過去の実績なんてない!」と困る方もいらっしゃるでしょう。
ですので、「私は案件を受注したことはないけれども、過去にこのようなサイトを作ったことがある/このようなスクレイピングをやったことがある」と言えれば、多少なり信頼してもらえると思います。
ですので、未経験から仕事を取るうえで、重要なのは、実績につながるようなポートフォリオ作成となります。
もし、ポートフォリオを作成して、最初の1件目を受託できれば、それが実績になります。実績が増えれば、さらによい案件に出会いやすくなります。
個人であれ法人であれ、何も実績がない状態で仕事を得るためには、ポートフォリオを作ることが非常に大事。ポートフォリオは「対価をもらわずに作る実績」であり、ポートフォリオ→最初の1案件をしっかりとこなして、そこから評判のループにつなげる。 pic.twitter.com/gPn7GRsH70
— DAI (@never_be_a_pm) August 2, 2019
実務経験なしでクラウドソーシングで受託するための方法は、
①人が信頼して仕事を任せられるようなポートフォリオを作る
②最初の実績を詰むために、最初はできるだけ単価を下げて、実績が出たら徐々に単価を上げるです。とにかく、最初は信頼獲得に専念しましょう! pic.twitter.com/ja9j9tgYk5
— DAI (@never_be_a_pm) August 10, 2018
ですので、最初の1件目をとるためのポートフォリオ作成が非常に重要になります。
どんなポートフォリオを作ればいいの?
ポートフォリオの作り方のコツとしては、実際にクラウドソーシングサイトで依頼されるような案件に似たポートフォリオを作るのがオススメです。
私自身、クラウドソーシングサイトで仕事を発注する場合、クラウドワーカーが、類似の実績があると、かなり安心します。
なので、実際のスクレイピング案件に似た成果を、学習し、それをポートフォリオにすることで、提案営業がしやすくなります。
今回のチュートリアルは、実際にクラウドソーシングサイト上で依頼された、単価2.5万円程度の案件となります。
ですので、それくらいの案件を受注するために、必要な技術をここで身に付けて、ポートフォリオを作ってみましょう。
ポートフォリオはどこに公開すればいい?
Webサイトのようなものに関しては、ネットに公開することが可能ですが、スクレイピングの場合だと、ネットに公開することは難しいです。
ですので、おすすめなのは、ブログやQiitaなどのサービスに、実際にスクレイピングができることをアピールできるような記事を作成することがおすすめです。
ただし、1点注意点があります。
チュートリアルをそのままコピーしたものをポートフォリオにするのは辞めておきましょう。
エンジニアの採用や、クラウドソーシングで仕事を発注する場合、ポートフォリオを教材そのままにしている人は、仕事を任せません。
というのも、自分で考えて実装できることをアピールするのがポートフォリオの役割なので、コピペで作ったポートフォリオはむしろ逆効果なのです。
なので、実際にチュートリアルで学んだ知識を活かして、オリジナルなアプリを作ることをおすすめします。
提案営業をする
ポートフォリオができたら、具体的に、類似案件に提案営業してみましょう。
クラウドソーシングサイトなら、クラウドワークス、ランサーズ、ココナラなどのサービスを利用して、「スクレイピング」「クローリング」などの案件を調べてみましょう。
そこで、ポートフォリオに近い案件があれば、以下のような提案文で、営業してみましょう。
要件定義する
ここまできたら、クライアントと要件定義を行うことになります。
要件定義を行う場合は、以下のことで同意を取っておくことが重要です。
- 期限:いつまでに納品するか
- 保守の有無について:スクレイピングするサイトのソース変更の可能性があるので、保守の有無を確認する
- 出力形式:単発のCSVファイルなのか、ソースコードなのか。毎日CSVが更新される必要があるのか。
- 取得するデータ:
期限
期限は、なるべくバッファを持って提案しましょう。また、相手の案件の緊急度もしっかりと確認しておく必要があります。
緊急度が高い案件で、期限が遅れてしまうと、炎上してしまいます。
保守の有無について
スクレイピングを行う場合、スクレイピング先のWebサイトのソースコードが変更される可能性があります。その場合、スクレイピングツールが動作しなくなる可能性があります。
上記の要件が確定しないまま、実装に入ると、途中で認識の齟齬が起こり、最悪の場合案件の終了する可能性があります。ですので、しっかりとすり合わせましょう。
今回の場合は、
- 期限:1週間後
- 保守の有無について:保守はなし。修正が必要な場合は、別途追加料金+10000円
- 出力形式:クライアントのリテラシーが低いので、指定したDropboxに毎日自動デブロイ
- 取得するデータ:案件名, 成果報酬, 取り扱いASP
となります。
お互いの認識があったタイミングで、お仕事を開始します。
今回のスクレイピングするWebサイトの要件確認
それでは、さっそくスクレイピングしていきましょう。
まず、今回はスクレイピングするための専用サイト「アフィリエイト検索ナビ」を作成しました。
実際にアクセスしてみてください。
http://affisearch.herokuapp.com/
ログインしていない状態ですと、ログインを求められます。
最初は、IDがないとログインできないので、Sign Upから新規アカウント作成を行う必要があります。
今回は、すでに作成した、以下のアカウントでログインしてみましょう。
- Email: sample@sample.com
- Pass: sample1234
無事ログインできると、さきほどの検索画面が出てきます。
こちらのページ下に、ページャーがありますね。
ここから、すべてのページにアクセスして、全件のデータを取得します。
収集するデータは、以下3点です。
- ASP
- 成果報酬
- 詳細
これらのデータを、毎日自動取得して、CSVに保存します。
また、クライアントはPythonのコードを実行できるほどITリテラシーが高くないので、クライアントが指定したファイル共有サービスに毎日CSVをアップロードします。
ということで、スクレイピングの要件の確認です。
- ログインを自動化して、検索画面に入る
- ルートページにアクセスして、ページャーを全件取得する
- 取得したデータをCSVに保存する
- CSVをファイル共有サービスに保存する
- これを毎日定期実行する
次の学習内容
お疲れさまでした!この回のチュートリアルは以上となります。
ぜひ、学習の継続のために、学んだことをTwitterに投稿してみてください。
学習をTwitterに記録するさて、次の学習コンテンツを紹介しておきましょう。
このチュートリアルは、実際に案件を納品するまで、3つの段階に分けます。
- スクレイピング案件②Seleniumで自動ログインして、ページを全件取得してみよう
- スクレイピング案件③ファイルをアップロードしよう
- スクレイピング案件④Heroku Schedulerで定期実行してみよう
こちらのチュートリアルは、¥1980で購入できます。スクレイピング案件受託コースを購入すると、その後の学習コースも一緒に購入することができます。セット割まとめて購入すると4980円で購入することが可能です。