Python学院
メールマガジンバックナンバー

vol.15

  • コツ・知識
  • メールマガジン

Pythonによるスクレイピングの基本 ~Web上からの情報収集自動化

今回のメルマガのテーマは 「Pythonを用いたスクレイピング」です。

タイトルに入っている「Web上からの情報収集自動化」は、言葉だけではイメージがつかないかもしれません。
インターネット上に存在するさまざまな情報を自動で収集できる技術のことを「スクレイピング」と呼びます。

当ブログ記事を通して「スクレイピング」について理解を深め、業務自動化に活かしていただけますと幸いです。

(約5分で読めます)

~~~~~~~~~目次~~~~~~~~~
1. Web上からの情報収集自動化「スクレイピング」とは
2. スクレイピングによる業務自動化例
3. 弊社インソースでのスクレイピング活用事例
4. スクレイピング時の注意点
5. 最後に
~~~~~~~~~~~~~~~~~~~~



1. Web上からの情報収集自動化「スクレイピング」とは

Web上から情報を自動で収集してくる技術のことを 「スクレイピング」と呼びます。

調べ物をする際、Google ChromeやMicrosoft Edgeなど「ブラウザ」を用いて、Webページを開くと思います。
スクレイピングにより、このブラウザで開いたWebページから情報を取得することができます。

取得した情報はExcelファイルに保存したり、テキストをメールに貼り付けて送信したりすることができます。
スクレイピングには、以下のようなメリットがあります。

(1) 業務の効率化

現在、組織内で「データの収集作業」に多くの時間を費やしている場合、自動化することで大幅な生産性の向上が実現できます。

以下のような業務を行っている場合、スクレイピングにより大幅な時間の削減ができるかもしれません。

●毎日情報が更新される変動の激しいWebサイトから、最新の情報を手作業で収集している(競合他社の製品価格情報、株価など)
●自社のWebシステムから情報を抽出し、Excelに転記するといった業務を毎日のように行っている
●営業リストの作成を全て手作業で行っている

(2) ビッグデータの活用

企業にとってデータは重要な「資産」であり、また分析などを行うことで 無限大の価値を生み出すことができます。
ただ、ビジネス現場で欲しいデータが、いつでも手元にあるとは限りません。

そんな時に、「スクレイピング」が役立ちます。 インターネット上にある様々な情報を自動収集することで、 組織内に大量のデータを運んでくることができます。

また、今後組織内でのAI導入などを考えている場合、 スクレイピングのスキルは必須と言えます。
AI開発には大量のデータが必要となり、自社内に必要なデータが 全て完備されていることは稀であるため、インターネット上の情報を 大量に収集する必要があります。

【PR】スクレイピングが学べる研修
Pythonの基礎からスクレイピングまでを学べる研修はコチラ
半日でPythonを使ったスクレイピングを学べる研修はコチラ


2. スクレイピングによる業務自動化例(スクレイピングでできること)

スクレイピングによる業務自動化例を、以下にて記載いたします。
ぜひ、スクレイピングの現場での活用をイメージしてみてください。

業務自動化例
自社システムで管理されているデータを自動収集し、Excelファイルに書き出す
ニュースサイトから、タイトルに「あるキーワード」を含むニュースのみを自動収集する
Web上の競合他社の製品価格情報を自動収集し、最適な価格設定を行う
株価のデータを定期的に自動収集し、自社で活用しやすいように自動で整形する
あるECサイトから製品の価格・評判・レビュー等を自動収集する
SEOに最適な記事作成のため、あるキーワードで検索し上位10個のページタイトル、説明文を自動収集する
最適な求人を出すため、求人サイトから求人情報を大量に一括取得する

様々な業務で、スクレイピングを活用することが可能です。
Web上のあらゆる情報を取得できるようになれば、様々な場面で業務の効率化が進みそうではないですか?
スクレイピングを使いこなせるようになれば、今まで取り組んでいた業務の抜本的な改善が実現できるかもしれません。


3. 弊社インソースでのスクレイピング活用事例

弊社インソースでも、様々な業務の自動化にスクレイピングを活用しています。
ここでは、弊社のスクレイピング活用事例を2つ紹介します。

(1) 営業部門の行動量データを自動収集し、ランキング表を作成

弊社では、営業の方の1日の架電数や訪問数などのデータを自社システムで管理しています。
元々、毎営業日集計担当者が【手作業で】自社システムからExcelファイルにデータを転記して集計を行い、行動量の集計結果を全社員宛てにメールで送付していました。
この「自社システムからのデータ収集」を自動化し、以下のような表を作成するプログラムをPythonで作成しました。


スクレイピングにより、自社システムにまとめられているデータを自動収集し、大幅な業務効率化を実現した事例の一つです。

(2) 営業リストの作成

弊社では営業リストの作成を、スクレイピングにより自動で行っています。
あらゆる企業の情報がまとめられているWebサイトから、個々の企業情報を自動収集してExcelファイルに保存し、営業リストとして活用しています。
一度自動収集プログラムを作ってしまえば、定期的にWebサイトから最新の情報を収集することができます。


4. スクレイピング時の注意点

Webページからあらゆる情報を自動収集することができ、とても便利な「スクレイピング」ですが、行う際はいくつか注意点があります。

(1) 利用規約を確認する

スクレイピングを実施する際、データを収集するWebサイトの「利用規約」を必ず確認する必要があります。
Webサイトによっては、利用規約でスクレイピングの禁止を明示している場合があります。

(2) 対象のサーバーに過度な負荷がかからないよう、アクセス間隔を空ける

Webサイトの情報は、「サーバー」と呼ばれる場所に格納されています。
Webサイトの情報を取得するということは、サーバーにアクセスをするということになります。

サーバーに過度な負荷がかかった際には、アクセスが集中して特定のWebページが開けなくなることがあります。
スクレイピングでは、短時間のうちにWebサイトに何度もアクセスをして大量に情報を取得することもできますが、この場合は「サーバーに負荷をかけている」状態となってしまいます。

そのため、スクレイピングを行う際には、サーバーに負荷をかけすぎないよう「アクセス間隔を空ける」ことが重要です。

Pythonには、アクセス間隔を空けるための便利な機能が搭載されています。 スクレイピング実施時は「Python スクレイピング 間隔」などと検索して調べて、アクセス間隔を空けるためのプログラムを書くようにしましょう。


5. 最後に

以上、Web上からの情報収集自動化「スクレイピング」についてメリットや活用事例、使用時の注意点などをご説明いたしました。

業務自動化の際に、「Excel操作の自動化」と並んでよく使われる技術が「スクレイピング」です。
Pythonでスクレイピングを活用できるようになれば、現在行っている業務の抜本的な効率化を実現することができます。

また、Web上から収集してきた情報をExcelファイルに保存したり、メールにテキストを貼り付けて送付したりなど、他の技術と組み合わせることでより大きな効果が発揮されます。
「スクレイピングの有用性・価値」についてご理解いただけましたら、ぜひPythonでスクレイピングを行っていただけますと幸いです。

関連研修