みなさんは、不動産情報、株価、ECサイトなどWebページの情報を収集する際にどうやって行いますか?ホームページで調べた内容をExcelにまとめたり、コピペをして表に貼り付けたりと、方法は様々かと思いますが、収集したいデータが多いとけっこうな作業量になりますよね。
競合他社の製品情報を把握して、自社製品の売上をUPさせたい
株価変動をグラフにしたい。株で生きていきたい。
副業せどりのリサーチをしたい!
そんなとき、「スクレイピング」を使うとこれらの作業を自動で行うことができます。
私も過去に副業でせどりをしていたときに、スクレイピングでリサーチをしてトータルで100万以上利益を出すことができました。
今回は、
- スクレイピングとはなにか
- スクレイピングで何ができるのか
- スクレイピングをビジネスに活用する事例
- スクレイピングでやってはいけないこと・注意点
などについて、初心者の方にも分かるよう徹底解説していきます。副業やビジネスマーケティングなどをもっと伸ばしたいと考えている方は必見です。
スクレイピングとは?
スクレイピング(Scraping)とは、「かき集める」「かき寄せる」という意味のscrapeに由来する用語です。似た用語に「クローリング」という言葉がありますが、これはWeb上のデータを収集することのみを指し、スクレイピングは集めたデータを加工・抽出することを指します。
スクレイピングでできること
スクレイピングをすることで具体的にどんなことが実現できるのかを、事例を挙げて説明します。
せどり副業のリサーチ
スクレイピングはせどり副業のリサーチに活用することができます。
私も過去に副業でせどりをしていたことがありますが、売れ筋の商品をリサーチしたり、収益計算をする際に仕入れ価格をスクレイピングして収集し、それをスプレッドシートで表にしていました。以下は私が実際に使っていた管理表です。
最近は副業でせどりをする人も増えており、ライバルと差をつけるには最新の売れ筋をチェックしたり、日々変動する価格相場に目を向ける必要があります。せどりには欠かせないリサーチ作業を楽にしてくれるのスクレイピング技術があると、競合と差をつけることができ売り上げアップにつながりやすいです。
株価の変動をチェック&グラフ化
株価をスクレイピングしてExcelやGASのシートにまとめたり、そのデータを利用してグラフ化することもできます。株式投資をしている方は株価検索やマーケット情報のサイト、株取引アプリなどを活用されているかと思います。
スクレイピング技術を利用すると、それらのサイトではチェックしきれなかったような自分が得たい情報を柔軟にカスタマイズして、細かく分析することが可能です。
競合他社の製品情報をチェック
競合他社の商品について価格や新製品に関する最新情報を収集したり、価格変動やキャンペーンなどの動向を調査する際にもスクレイピング技術を活用することができます。
マーケティング戦略の策定や企画書を提出する際に、スクレイピングしたデータを生かしてデータを可視化して根拠を明確にした説得力のあるプレゼンをすることもできます。「スクレイピング」という用語を聞くとIT部門がやることだと思われがちですが、マーケティング部門の方や営業部門の方にとっても有益な技術だと言えます。
スクレイピングをするための手段
では、実際にスクレイピングをするにはどのような手段があるのでしょうか。ここでは、ツールを使用してプログラミング等を行わずに行う方法と、プログラミング言語を使用したスクレイピングの2つを紹介します。
プログラミングをしないでスクレイピング
スクレイピングツール
スクレイピングツールを使用した方法では、ITスキルに自信のない方やプログラミング経験のない方でも簡単にスクレイピングを行うことができます。
ツールを使用したスクレイピングのメリットとしては、設定が簡単で使いやすいということが挙げられます。また、無料のスクレイピングツールも多く公開されており、HTML構造によるスクレイピングだけでなく、CookieやJavaScriptなどを使用した動的なデータの取得も可能です。
Power Automate Desktop
WindowsのPCに標準搭載されているPower Automate Desktop(以降PAD)でもスクレイピングを行うことができます。PADではブラウザー自動化>「Webページからデータを抽出する」というアクションを使用してブラウザ内の情報を取得します。
PADではExcelへの書き込みも自動化できるので、視覚的に操作したい&Excelでデータを管理したいという方にはPADがおすすめです。
デメリットとしては、PADを起動しているときにしか実行できない(=PCをシャットダウンしてしまうと動かない)こと、スクレイピング処理中はPC操作ができない(操作すると失敗する可能性がある)ことが挙げられます。
後者のデメリットについては以下記事をご参照ください。
プログラミングによるスクレイピング
スクレイピングというとPythonが思い浮かぶ方が多いかと思いますが、Python以外の言語でもスクレイピングは可能です。むしろ、普段自分が使っている言語や勉強中の言語のほうがスムーズにプログラムを作成して動かすことができるので、それぞれの言語の特徴を押さえた上で選ぶと良いでしょう。
以下にスクレイピングでよく使われるプログラミング言語の特徴を記載します。
Python
Pythonはスクレイピングをする上で最も多く使われている言語のひとつです。機械学習やWebサイト作成、Android開発、業務効率化など様々なシーンで使われており、コード自体も分かりやすくとっつきやすいことから初心者にもおすすめの言語となっています。
Pythonにはスクレイピング用のライブラリが豊富に用意されていることが魅力です。有名なものはBeautifulSoup、Requestsなどです。
ライブラリというのは、色んなプログラムをまとめたもので、それを使えば一からプログラムを書かずにスクレイピングをすることができます。
PHP
PHPはWebサイトを作成する際によく使われる言語です。PHPは処理速度が速いこと、データベースとの連携が比較的簡単であることが魅力です。
PHPの魅力は環境構築の容易さにもあります。PHPには環境構築ツールの種類が豊富で、DockerやXAMPPなどのツールを使うと、Webサーバーやデータベースなどの設定をまるっとまとめて行うことができます。
スクレイピングするデータの量が多い場合や、データベース化して管理したいという場合にはPHPがおすすめです。
Excel VBA
Excel VBAでもスクレイピングをすることができます。Excel機能の一つであるVBAを使用することで、先に述べたPythonやPHPなどのように開発環境を構築することなくプログラムを作成することができます。
また、他の人に共有する場合でもExcelファイルを渡せば良いので、配布が簡単というのも魅力です。
プログラミング完全初心者の方や、普段からExcelを使っている方はExcel VBAがおすすめです。
GAS(Google Apps Script)
GASは、GoogleスプレッドシートやGoogleフォーム、GmailなどのGoogleサービスと連携して自動化を行うことのできるプログラミング言語です。Javascriptをベースとした言語で、Googleのサーバー上、つまりWeb上で実行されます。
Power Automate DesktopではPCをシャットダウンしてしまうと処理が実行されないと説明しましたが、対してGASはGoogleサーバー上で動くのでいつでも実行することができます。
ECサイトの価格が変更になったタイミングでLINEに通知したい、再販開始したらすぐにお知らせするようにしたいというようなリアルタイムで情報を収集したい場合にはGASがおすすめです。
以下の記事ではGASとスプレッドシートを連携して、LINEで家計簿を管理する方法を紹介しています。
スクレイピングする上での注意点・禁止事項
スクレイピングをする前に、必ず確認しておかなければならないことがあります。
スクレイピングが許可されているかどうか
スクレイピングを行う前に、対象のWebサイトがスクレイピングを許可しているかどうか確認することが必要です。スクレイピングを禁止しているサイトはけっこう多く、有名なものだと
- Amazon
- 楽天
- メルカリ
- Twitter、Instagram等SNS系は大体NG
などが挙げられます。禁止の理由は明記されていませんが、大量のデータ収集を行うことでサーバーに大きな負荷がかかることが大きな理由のひとつです。
スクレイピング禁止かどうかを確認する方法
スクレイピングが許可されているかどうかは、サイトのルートディレクトリに設置されているrobots.txtの内容を見ることで分かります。robots.txtは
https://www.○○○○.com/robots.txt
にあります。
具体的に、IKEAオンラインストアのサイトがスクレイピングOKかどうかを見ていきます。
まず、ブラウザでスクレイピングしたいサイトのURLを取得します。
赤枠部分をコピーすると「https://www.ikea.com/jp/ja/」というURLが取得できます。先ほど、ルートディレクトリにrobots.txtはあると書きましたが、この例だと「https://www.ikea.com/robots.txt」となります。このURLをブラウザのアドレスバーに貼り付けて開きます。
User-Agent: AdsBot-Google
Allow: /*-fragment.html
Allow: /ext/
Allow: *filters=*
「User-Agent:Adsbot-Google」と記載があります。これは、IKEAオンラインストアのWebサイトはGoogleからのアクセスを許可しているということを表しています。
次に、Amazonのサイトでスクレイピングが許可されているかどうかを確認してみます。
今度は「DIsallow」がズラーッと並んでいますね。Amazonはスクレイピングを禁止していることが分かりました。
節度あるスクレイピングを意識する
スクレイピングを行う上で気をつけなければならないのは「アクセスの頻度」です。
短い期間で大量のアクセスをすると、対象のWebサイトのサーバーに膨大な負荷がかかり、最悪サーバーダウンの可能性もあります。そうなると、復旧するまで営業ができず損失が発生します。この場合、「偽計業務妨害罪」となる場合があります。
具体的には、1リクエストごとに1秒というのがなんとなくのルールとなってはいますが、厳密にルール化されているわけではありません。ただ、必要以上にアクセスをしない、一度に大量のデータを取り出さない等、アクセス先に配慮したスクレイピングを心がけることが大切です。
利用規約を確認する
利用規約でWebページ上のスクレイピングを禁止している場合もあります。
ネット上では「バレない」「やりすぎなければ大丈夫」などという意見も目にしますが、規約違反とみなされた場合は損害賠償となることも無いとは言い切れません。
スクレイピング自体には違法ではありませんが、愛知県岡崎市の市立図書館の蔵書検索システムに対し、スクレイピングをしたことで利用者が逮捕されるという事件も過去に起こっています(Librahack事件)。まとめ
まとめ
せどりなどの副業や、企業のマーケティングなどあらゆるシーンで利用されているスクレイピング。ノンプログラマーでも簡単に行えるツールやもあり、今後はデータ収集・分析力がより一層重要となっていくでしょう。
うーん。自分には関係ないかなぁ〜・・・
そう感じた方も、家計簿をつけたり、モノを買うときに最安値を探したりしていませんか?それらも全てデータ収集・分析のひとつです。そういった日々のデータ集めをより楽に、より分かりやすいデータにできるのがスクレイピングの魅力です。
次回は、実際に私が副業でせどりをしていたときに使っていた、Googleスプレッドシート×GASのスクレイピングをご紹介したいと思います。せどり(転売ビジネス)は参入者が多く、リサーチも大変ですが、スクレイピングとGASを組み合わせることで作業の負担を減らすことが可能です。ぜひ、次回記事もご覧になってみてくださいね!
コメント