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

vol.15

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

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

今回のメルマガのテーマは
Pythonによるスクレイピングの基本 ~Web上からの情報収集自動化
でございます。


Pythonは、ビジネス現場のあらゆる定型・単純業務を自動化するのに
よく用いられるプログラミング言語です。

Word・Excel・PowerPointの操作自動化、Web上からの
情報収集自動化、またメール送信やデータ分析、レポートの作成など
様々な業務を自動化することができます。

特に「Excel操作の自動化」と「Web上からの情報収集自動化」は、
ビジネス現場で業務自動化によく用いられる技術です。

業務でExcelを活用する場面は多いため、「Excel操作の自動化」は
イメージがつきやすいと思います。


「Web上からの情報収集自動化」は、言葉だけ聞いてもイメージが
つかないかもしれません。

Pythonを使えば、インターネット上に存在するあらゆる情報を、
自由自在に自動収集することができます。


この技術は、別名「スクレイピング」と呼ばれます。

「スクレイピング」が使いこなせるようになれば、業務自動化の幅を
一気に広げることができます。

当メルマガを通して、Web上から情報を自動収集する技術「スクレイピング」
について理解し、是非スクレイピングを用いて業務自動化に取り組んで
いただければと思います!



弊社では、Pythonによるスクレイピングを学習することができる研修をご提供しております!
スクレイピングができるようになれば、非常に多くの業務を自動化できるようになりますので、ぜひチャレンジしてみてくださいませ!

・Python学院~スクレイピング入門編(1日間) ※「Python基本文法」と「スクレイピング」について学べる!
・Python学院~短期集中講座(5日間) ※「Python基本文法」と「Excel操作」「スクレイピング」について学べる!
・Python学院~Python応用講座(2日間) ※「実行ファイル化」「仮想環境」や「スクレイピング」「ブラウザ操作」「Excel操作」について学べる!

(約5分で読めます)

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




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


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

普段、Google ChromeやMicrosoft Edge、Internet Explorerなど「ブラウザ」
を用いてWebページを開き、何か調べ物などをすることがあると思います。

スクレイピングにより、このブラウザで開いたWebページから
自由自在に情報を取得することができます。


取得した情報はExcelファイルに保存したり、テキストをメールに貼り付けて
送信したりすることができます。

スクレイピングには、以下のようなメリットがあります。


(1) 業務の効率化


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

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

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


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


企業にとってデータは重要な「資産」であり、また分析等を行うことで
無限大の価値を生み出すことができます。

ただビジネス現場で欲しいデータが、いつでも手元にあるとは限りません。

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

また、今後組織内でのAI導入などを考えている場合、
スクレイピングのスキルは必須
と言えます。

AI開発には大量のデータが必要となり、自社内に必要なデータが
全て完備されていることは稀であるため、インターネット上の情報を
大量に収集する必要があります。



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


スクレイピングの現場での活用イメージが湧くように、以下
スクレイピングによる業務自動化例を列挙します。

●自社システムで管理されているデータを自動収集し、Excelファイルに書き出す
 (社内システムからのデータ収集・分析の自動化)

●Web上で検索して、手作業で行っている営業リストの作成を自動化する

●ニュースサイトから、タイトルにあるキーワードを含むニュースのみを自動収集する

●Web上の競合他社の製品価格情報を自動収集し、最適な価格設定を行う

●株価のデータを定期的に自動収集し、自社で活用しやすいように自動で整形する

●あるECサイトから製品の価格・評判・レビュー等を自動収集する

●あるキーワードでの検索エンジン上位10位のタイトル、説明文を
 自動収集し、SEOに最適な記事を作成する

●求人サイトから求人情報を大量に一括取得することで、
 最適な求人を出せるようにする


様々な業務で、スクレイピングを活用することが可能です。
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でスクレイピングを行っていただけますと幸いです。

関連研修