
情報を収集する手段として、スクレイピングが利用されるようになってきました。皆さんの中にも、スクレイピングを利用したいと考える人がいるのではないでしょうか。
また、スクレイピングはプログラミング技術であることからエンジニアを社内に有している場合は「自社で内製したい」と考える人もいるはずです。今回は、スクレイピングを活用するプロジェクトにおいて、プロジェクトマネージャーがどのように立ち回り、事前に何を習得しておけば良いのか解説します。
目次
スクレイピングは社内でできる?
結論として、スクレイピングは社内で内製したり運用したりできます。Pythonなどのプログラミング言語で開発する力があれば良いでしょう。アルゴリズムを検討するなどのスキルが揃っていれば、設計から開発まで社内で対応できます。
ただ、後ほど解説するものの、スクレイピングの実施には法律面での注意事項があります。開発や運用に際しては、これらを意識しなければなりません。単純に設計や実装できれば、スクレイピングを社内で内製できるというわけではないのです。
スクレイピングを内製化するには
スクレイピングを内製する場合、まずは以下の点を考慮しましょう。
スケジュールチェック
最初に、スクレイピングプロジェクトの開始日から逆算して、スケジュールを立てなければなりません。スケジュール管理は、プロジェクトマネージャーの重要なタスクであるため、最初にチェックが必要です。
もし、利用開始日まで期間がないならば、トラブルが発生した際に期限に間に合わないリスクが伴います。逆に、スケジュールに余裕があると、ゆとりを持ってプロジェクトを遂行できるでしょう。
人材確保
スクレイピングの開発に必要な人材の確保が必要です。社内のプログラマーはもちろん、状況に応じて外部のプログラマーも活用しましょう。人材の確保にあたっては、プログラミングスキルを重視しなければなりません。基本的には、設計した通りにコーディングしてもらうため、このスキルを評価しましょう。今までに、スクレイピングの開発経験があれば、なお良しです。
なお、人材確保には時間を要すると考えられます。特に外部の人材は、契約に必要な期間も考慮しなければなりません。全体のスケジュールも踏まえて、最適な人材を確保しましょう。
環境整備
開発に向けて、環境整備にも着手しなければなりません。例えば、スクレイピングを実行するサーバーや、エンジニアが利用するパソコンの手配です。十分なスペックを用意しないと、開発効率が悪化する可能性があります。
どのような環境が必要となるかは、開発するスクレイピングの内容によって異なります。新しく手配するとなると、調達に時間を要する可能性があるため、計画的に準備しましょう。なお、クラウド環境など従量課金制のサービスを採用する際は、整備だけではなく利用を続ける際のコストも意識すべきです。
予算確認
プロジェクトを進めるためには、予算が必要です。どの程度の予算を確保できるかによって、スクレイピングの品質や規模が異なります。予算が限られている場合は、最低限の機能しか実装できないかもしれません。
予算に対して、実際にどのくらいの費用がかかるのかを把握することが大切です。内製する際には人件費や運用費、外注する際には外注する箇所によって費用が異なります。事前にかかる費用と予算を計算し、実現可能かどうかを検討してからプロジェクトを進める方がよいでしょう。
リスクの把握
スクレイピングを内製する際には、いくつものリスクを認識しなければなりません。スクレイピングは法的リスクを伴う技術です。エンジニアでなくともスクレイピングに関してある程度の知識を持ち、スクレイピングに関する法律面について学ぶ必要があります。このリスクのレベルはデータを取得するWebサイトや頻度によって異なります。事前にどのくらいのリスクがあるのかを把握し、取れる対策にも着手するべきです。リスクが顕在化する前に手を打つことで、問題を最小限に抑えられます。

プロジェクトマネージャーがしなければならないこと
スクレイピングのプロジェクトマネージャーは、幅広い業務に対応しなければなりません。最低限、以下があると考えましょう。
開発の方針決定や承認
プロジェクトのマネージャーとして、開発方針の決定やメンバーが提案した内容の承認作業があります。基本的に、プロジェクトの責任はプロジェクトマネージャーにあるため、内容を吟味して判断しなければなりません。
なお、判断するに際しては、プロジェクトオーナーや会社としての考えを踏まえる必要があります。例えば、会社として品質を重視するならば、重厚なテストケースを用意させるなどです。一般的なマネジメント論だけではなく、スクレイピングプロジェクトだからこその観点も考慮しなければなりません。
プロジェクトチームの編成
プロジェクトチームの編成に関わり、安定したプロジェクト推進を心がけましょう。事前に、参画するメンバーのスキルなどを把握しておき、業務の割り当てなどに活かします。また、チームの編成として、リスクが無いかの評価もしなければなりません。
最低限、プロジェクトマネージャーとプログラマーがいれば、スクレイピングプロジェクトは実行できます。ただ、実際には、サーバーの管理でインフラエンジニアなども必要となるはずです。開発規模や環境を踏まえたチーム編成を実現しましょう。
プロジェクトの推進
プロジェクトが始まった後は、中心となって推進しなければなりません。メンバーの開発状況を管理したり、外部との窓口になったりすることが求められます。とはいえ、基本的にはプロジェクト内部の管理や推進に注力することが求められます。品質を担保しながらスケジュール通りにプロジェクトを完了させなければなりません。
エンジニアのサポート
エンジニアに問題が生じた際、プロジェクトマネージャーによるサポートが必要です。例えば、仕様が曖昧で質問を受けたならば、関係者に確認の上、回答することが求められます。また、遅延する可能性など報告を受けたならば、人員の見直しなども必要です。
なお、プロジェクトマネージャーは、全ての技術を保有してるとは限らないでしょう。もし、自分自身でサポートできないことがあるならば、エンジニア同士でのサポートを指示することも必要です。また、現在のプロジェクトチームで対応できないならば、新しい人材の投入も視野に入れます。
スクレイピングプロジェクトのマネージャーに必要なスキル
スクレイピングのプロジェクトマネージャーの場合、以下のスキルを習得しておらなければなりません。
最新情報の収集
プロジェクトマネージャーとして、最新情報の収集に努めなければなりません。情報収集のスキルがなければ、陳腐化した情報をメンバーに展開してしまう可能性があります。人の上に立つ立場から誤った情報を展開すると、プロジェクトが崩壊する原因となりかねません。
なお、収集すべき情報の内容は多岐にわたり、プロジェクトマネジメントからスクレイピング、プログラミングやインフラなどです。プロジェクトマネージャーには、多くの知識が求められるため、これらを効率よく集めるスキルが求められます。
データの形式や加工についての理解
スクレイピングでは、データの収集だけではなく加工も必要です。一般的に、収集した状態の「生データ」は、そのままの活用が難しくなっています。使いやすい形に、収集したデータを加工しなければなりません。
そのため、プロジェクトマネージャーが、データ加工についても理解することが重要です。また、データの加工に関連して、データ形式について理解することも必要でしょう。
データ解析
スクレイピングで収集したデータをもとに、データ解析するケースが多くあります。解析にも対応できるよう、このスキルも必要です。スクレイピングのように、データを扱うプロジェクトならではのスキルと考えて良いでしょう。
データ解析のスキルには、解析アルゴリズムの種類やその使い方などが考えられます。用途に応じたさまざまなアルゴリズムがあるため、それらを理解して使い分けできるようにならなければなりません。また、解析した結果を踏まえ、経営判断を支援することまで対応できれば理想的です。
各種法律への知識
スクレイピングでは、いくつかの法律が関わってくるため、法的な知識が必要とされます。例えば、収集するデータについて、著作権を意識しなければなりません。また、情報源となるWebサイトに負荷をかけ、業務妨害にならないような考慮が必要です。
どんなにスムーズにプロジェクトを進行しても、スクレイピングで法的な問題を起こしてしまうと、裁判などのトラブルになりかねません。スクレイピングの開発だけではなく、運用についても知識を高めることが大切です。
スクレイピングプロジェクトが成功するコツ
プロジェクトマネージャーとして、スクレイピングプロジェクトを成功させたいならば、以下のポイントを意識しましょう。
目的を明確にしておく
スクレイピングの目的を明確にして、プロジェクトを推進しなければなりません。曖昧な目的のまま進めてしまうと、スクレイピングの開発そのものや、その後の運用に問題が起きたりします。
目的の具体例は「市場調査」「トレンド分析」などです。このように目的を具体化しておくことで、収集・分析のアルゴリズムに反映させたり、スクレイピングによる取得項目を見直したりできます。
事前準備を徹底する
プロジェクトを成功させるためには、事前準備が非常に重要です。マネージャーとして、最大限考慮しましょう。先の項で述べたスケジュールや予算はもちろん、法的なリスクを見越してデータ取得するWebサイトの調査も必要となります。
また、工数を丁寧に見積もることで、遅延やコストオーバーなどのリスクを回避しやすくなります。
エラーハンドリングに力を入れる
スクレイピングを設計する際は、エラーハンドリングに力を入れるべきです。プロジェクトマネージャーは設計書を承認するため、この時に考慮するようにしましょう。
近年は、新しい技術を活用した複雑なWebサイトが増えています。そのため、事前に想定していたアルゴリズムでは、スクレイピングができないことがあるかもしれません。適切なエラーハンドリングがないと、スクレイピングが停止する可能性があります。
停止により情報収集できていないと、データ解析などその後の運用に影響が出かねません。
スクレイピング内製化で注意すべき5つの点
スクレイピングを内製化する際は、以下に注意するようにしましょう。
法律面
スクレイピングは、適切に実施しなけば、法律に違反する可能性があります。正しい知識をもって、合法的に実施しなければなりません。法律に違反すると、最悪の場合裁判となり、損害賠償を請求されてしまいます。例えば、Webサイトの情報は基本的に著作権が認められています。そのため、適切に利用しなければ著作権の違反になってしまうのです。また、取得の際もWebサイトの提供者が定めたルールをよく確認しなければなりません。
他にも、スクレイピングによってサーバの負荷がかかってしまうと、偽計業務妨害罪などに問われる可能性があります。これら法的なリスクを理解して、スクレイピングを内製しなければなりません。
所要時間
プロジェクトの完遂に必要な所要時間を正しく見積もりましょう。スクレイピングの開発に時間をかけすぎると、プロジェクトそのものの納期に間に合わないかもしれません。開発が間に合わないならば、スクレイピングを内製するのではなく、ツールの活用や専門業者への依頼も検討しましょう。求めるスクレイピングの内容によっては、開発までに何ヶ月もかかるかもしれません。必要な工程を洗い出し、スクレイピングを内製する時間を把握しましょう。
求められるスキル
スクレイピングの開発に適したスキルを確保しなければなりません。特にアルゴリズムを設計する際は、プログラミングの深い理解が必要です。また、スクレイピングの開発にあたっては、HTMLを解析するためのライブラリを利用することが多くあります。そのため、純粋なプログラミングスキルだけではなく、導入するライブラリについての理解も必要です。
設計の段階でスキルが不足していると、内製が失敗する原因となりかねません。プロジェクトマネージャーが中心となり、担当者のスキルを評価して、スキル不足がないように注意が必要です。
インフラの確保
スクレイピングでは、高速かつ大量の処理が発生することが考えられます。そのため、これらを問題なく処理できるインフラの確保が必要です。特に、インフラの制約を受けないように注意しましょう。
例えば、クラウドサービスをインフラ基盤に利用していると、1時間あたりに実行できる処理の回数が決まっていることがあります。このような状況では、思うようにスクレイピングできず、情報の収集ができないかもしれません。また、スペックが不足していて処理が完了しないようなインフラも避けるべきです。
セキュリティ
スクレイピングそのものやその収集データは、自由に利用して良いものではないと考えられます。そのため、セキュリティを高める必要があります。また、収集したデータの暗号化なども採用しておくことが望ましいです。万が一情報が流出してしまった場合に、暗号化していないとスクレイピングでどのような情報を集めているのか知られてしまいます。これによって業務に悪影響を与えてしまうかもしれません。
ただ、セキュリティにこだわりすぎると、内製化のコストが高まってしまいます。セキュリティの高さとコストの高まりには相関関係があるため、その点も注意しなければなりません。
まとめ
スクレイピングを内製化するためには、プロジェクトマネージャーが主体となり準備しなければなりません。一般的なプロジェクトの管理に向けた準備はもちろん、スクレイピングに関する専門的な知識を習得することが重要です。今回解説した通り、スクレイピングのプロジェクトマネージャーにはデータ加工や解析、法律などの知識が求められます。そのため、スクレイピングを始めるにあたっては、どのようなスキルが必要なのか事前に確認するようにしましょう。スクレイピングを内製したい方に向けて、必要な情報を職責別にまとめてあるため、こちらも参考にしてください。