インターネットを活用したビジネスを展開している企業が活用できるWeb技術に、スクレイピングがあります。
「ひっかく、こする」という意味のスクレイピングは、Webという情報の海から、有益な情報だけをかき集めてきます。
スクレイピングで集めた情報は、自社のECサイトを最適化したりコンテンツ・ビジネスを有利に進めたりするのに使えます。
スクレイピングがどのようなもので、どのように活用でき、どうやって使うのか解説します。
アプリ・システム開発のプロが開発のお悩みを解決します
アプリ・システム開発の6割が失敗すると言われています。クライアントのリピート率100%のリレイスにご相談ください。
\ まずは無料相談!1営業日以内に返信 /
目次
スクレイピングの意味
Web上には企業にとって有益な情報があふれていますが、無駄な情報も多いのでそれを有効活用することは至難の業です。
そこで無駄な情報をこすり落とす(スクレイプする)必要があります。
スクレイピングとは
スクレイピングは、ロボティクス・プロセス・オートメーション(RPA)の一種です。RPAは人間がやっていた作業を「ロボット≒コンピュータ・プログラム」にやらせる技術です。
複数のプログラム間でやり取りしているデータのなかには、普通の人が理解できないものが多く含まれています。その理解できないデータを除去して、普通の人が理解できるデータにすることをスクレイピングといいます。
しかし最近は、スクレイピングといえばWebスクレイピングのことを指すことが多くなっています。Webスクレイピングは、Web上の情報だけに対象を絞ったスクレイピングのことです。この記事でも、単にスクレイピングと表記した場合、それはWebスクレイピングのことを指します。
クローリングとは
スクレイピングは、クローリングと比較するとより深く理解できるかもしれません。どちらもWeb上の情報収集技術ですが両者は似て非なるものです。
クローリングは、グーグルがこれを使って検索エンジンの性能を格段に向上させたことで知られています。
クローリングは巡回という意味で、世界中のWebサイトを巡回して情報を集めます。
スクレイピングとクローリングの違い
スクレイピングはゴミと資源の分別で、クローリングは掃除機でなんでも吸い上げる、というイメージになるでしょうか。
スクレイピングもクローリングもWeb情報を集める点は共通していますが、次のような違いがあります。
■スクレイピングとクローリングの違い
●スクレイピングは巡回しない、クローリングは巡回する
●スクレイピングは集めた情報から有益な情報だけを抽出する
●クローリングは情報を集めるだけ(有益な情報だけを抽出する作業はしない)
したがってスクレイピングとクローリングは「協力し合う」こともできます。
この2つを使いこなせば、クローリングで集めた情報から有益なサイトをみつけることができたら、そのサイトをスクレイピングして有益な情報だけを抜き出す、ということができるわけです。
クローリングで集める情報の1つにhtmlがあります。htmlはコンピュータに理解させる「言葉」です。
サイトに掲載されている記事は見出しや本文などで構成されていて、htmlは「これは見出し」「ここから本文」といったことを指示します。htmlでは「見出し」という指示を「h1」と表記し、「本文」を「p」と表記します。
例えばサイトの記事に「今日は晴れだった」という見出しが掲載されていたとします。サイトで閲覧できるのは「今日は晴れだった」という文字だけですが、データとしてはhtmlを使って「
今日は晴れだった
」と書かれてあります。
クローリングでは「
今日は晴れだった
」が丸ごと収集されてしまうのですが、プログラマーではない普通の人にとっては「
」や「
」は邪魔な情報です。
そこでスクレイピングを使って「「
」や「
」を除去します。そうすると「今日は晴れだった」という、人にとって有益な情報だけが残ります。ここまで情報を「磨き上げれば」分析しやすくなります。
スクレイピングでできること
インターネット・ビジネスを展開している企業や、Webを使った情報発信に力を入れている会社であれば、スクレイピングを有効活用できるはずです。
スクレイピングでできることを紹介します。
ECサイトのデータを収集する
Web上に大量に存在するECサイトをスクレイピングすると、商品内容や価格の情報を集めることができます。EC企業がこうした情報を入手できれば、自社の商品開発や価格設定の際の重要資料になるでしょう。
例えば、他社のECサイトに自社製品と類似した製品が掲示されていたとします。その性能や価格がわかれば、その性能を上回る製品をつくって安く販売すればより売れるようになります。
この作業を人がやろうとすれば、他社のECサイトを1つひとつ閲覧し、自社製品と類似した製品を探し、みつけたら性能と価格を書き写さなければなりません。
スクレイピングすれば簡単に類似製品の比較表をつくることができるでしょう。
またスクレイピングを使えば商品レビューを集めることもできます。これも自社製品と他社製品を比較するうえで重要な資料になるはずです。
検索順位のデータを収集する
自社サイトの閲覧数の増減が売上高の増減に直結している企業なら、スクレイピングで自社サイトの検索順位のデータを収集してはいかがでしょうか。
スクレイピングによって、自社サイトでよく閲覧されているサイトとあまり閲覧されていないサイトがわかります。
また他社サイトの検索順位をチェックすれば、自社サイトとの違いがわかります。その情報はサイトを改良するときに役立つはずです。
株価の変動データを収集する
スクレイピングは数値の収集が得意です。そのためすべての上場企業の株価を毎日チェックする、といったこともできます。
株価の変動データを入手できれば投資判断に役立ちますし、経済情報を発信している会社なら重要資料になります。
スクレイピングの注意点
ここまでの解説で「スクレイピングでそんなに大量に情報を集めて大丈夫なのか」と心配になった人もいると思います。その感覚はとても重要です。
サイト上のコンテンツやテキストなどのWeb情報は公開されているので、それらを集めるだけなら法律に触れることはありません。また、集めた情報を自分の活動の参考にすることもまったく問題ありません。
しかしWeb情報にも著作権があるので、その権利を侵害すると違法になる可能性があります。
違法にならない線引きを理解する
スクレイピングを違法行為にしないためには、次の2つのルールを守らなければなりません。
●情報収集と情報解析を目的にする
●取得した情報やデータをそのまま譲渡しない
「A社の製品価格を知って、自社製品の価格設定の参考にしたい」「B社の株価を追跡して投資タイミングを計りたい」このような狙いでスクレイピングを行うことは、情報収集と情報解析が目的なので問題ありません。
しかし、スクレイピングで集めた情報やデータを第三者に譲渡することは著作権の侵害に該当する恐れがあります。
情報やデータを販売している会社は、スクレイピングで集めたデータをそのまま販売するのではなく、自社で独自に解析・分析して「オリジナルの情報やデータ」に加工できれば、それを販売することはできるでしょう。
相手のサーバーに負荷をかけすぎない
大量かつ執拗なスクレイピングは、サイトを動かしているサーバーに大きな負荷をかけることになります。それが迷惑行為になると違法状態になるかもしれません。
2010年に、ある人が市立図書館のホームページに大量アクセスを仕掛けたことで偽計業務妨害の疑いで逮捕されました。この大量アクセスはスクレイピングだったとされています。
ただこれは、情報を集めたことが問題になったのではなく、ホームページのサーバーに負荷をかけすぎてそのホームページが閲覧しにくくなったことが問題になりました(*1)。
また上場企業の株価情報を提供しているヤフー・ファイナンスは、株価などのデータをプログラムを用いて機械的に取得するスクレイピングなどの行為について、システムに過度な不可かかかるという理由で禁止しています(*2)。
スクレイピングを実施するときは、節度ある使い方を心がけたほうがよいでしょう。
*1:https://xtech.nikkei.com/it/pc/article/column/20100901/1027224/
*2:https://support.yahoo-net.jp/PccFinance/s/article/H000011276
スクレイピングに向いているプログラミング言語
スクレイピングに向いているプログラム言語はPythonとRuby、JabaScriptといわれています。それぞれの特徴を紹介します。
Python
PythonはAIでも使われていて最先端技術に向いた言語です。
また、ライブラリが豊富でコードを書く作業を大幅に省略できます。スクレイピング用のライブラリもたくさんそろっています。
こうした性質があるためPythonは汎用性が高く、スクレイピングのためにこの言語スキルを獲得しても、他の仕事に応用が効きます。
Ruby
RubyはPythonと同レベルのメリットがある言語とされています。つまり次のとおりです。
●スクレイピングを含むさまざまなプログラム向けのライブラリが数多く存在する
●最新技術に使われることが多く汎用性も高い
JabaScript
JabaScriptもスクレイピングに向いている言語ですが、初心者には難解に感じるかもしれません。またスクレイピング向けのライブラリの数はRubyはPythonより少なめです。
無料で使えるスクレイピングのツール2選
スクレイピングは無料ツールを使って実施できます。
ここでは無料のスクレイピング・ツールとしてOctoparseとVisual Scraperを紹介します。
Octoparse
Octoparseは静的サイトだけでなく、動的サイトも処理できます。したがってログインが必要なサイトの情報も収集することができます。さらにソースコードを解析できるので、閲覧時のサイトには表示されてない情報も扱えます。
Octoparseなら、SNSやECサイトから情報を取ることができます。
またOctoparseは複数のクラウドを使うことができるので大量処理にも向いています。
Visual Scraper
Visual Scraperは初心者に向いているツールです。インターフェースが優れていて、プログラミングの基礎知識があれば直感的に操作できるでしょう。
有料プランもありますが、無料プランでも5万ページをスクレイピングすることができます。
まとめ~情報戦での武器になる
インターネットとサイトをまったく使わないビジネスを展開している企業でなければ、スクレイピングは何らかの形で必ず自社の事業に役立つはずです。
そしてEC企業やサイトを使った情報発信に力を入れている企業なら、スクレイピングは必須スキルといえるでしょう。
ビジネスは情報戦の面があり、インターネット領域ではその色合いがより強くなっています。スクレイピングは情報戦を有利に進める武器になります。