Webサイトを見ていると、「このページが検索結果に出てくるのはどうして?」「あのサービスはどうやって自動で情報を集めてるんだろう?」って思ったことありませんか?その裏側で動いているのが「クローリング」という技術です。Google検索やYahoo検索、LINEニュース、Amazonの価格比較…こうしたサービスは全部、クローリングという自動収集システムで動いています。この記事を読めば、インターネットの情報がどうやって集められて、整理されて、あなたの目に届くのかがわかるようになりますよ。
- クローリングは、ロボット(自動プログラム)が世界中のWebサイトを巡回して情報を集める技術だよ
- Google検索やニュースアプリなど、私たちが普段使うサービスは全部、クローラーという自動収集ロボットで動いている
- スクレイピング(データを整理・加工すること)と違って、クローリングはあくまで「集める」という最初の段階の作業のこと
もうちょっと詳しく
クローリングを理解するポイントは「自動化」です。もし人間がGoogle検索と同じことをしようとしたら、何百万ものWebサイトを全部見て回らないといけません。でも、プログラム(ロボット)なら、24時間休みなく、光の速さで情報を集められます。Googleのクローラーは毎日何十億というページをチェックしていて、新しい記事がアップされたら素早く見つけて、あなたが検索するときに「この記事が関連しそうだ」と提案してくれるわけです。つまり、クローリングがなかったら、インターネットという巨大な図書館で、本を一冊ずつ手探りで探すハメになっちゃうんです。
クローリング = 「集める」
スクレイピング = 「整理・加工する」
別の技術だと覚えよう!
⚠️ よくある勘違い
→ 実は違うんです。クローリングは「Webサイトの情報を集める」という最初の段階。その集めた情報を「整理したり、加工したり、分析したり」するのがスクレイピングです。つまり、クローリング → スクレイピングの順番で進むんです。
→ クローラーが「お水汲みのロボット」なら、スクレイピングはその水を「きれいに濾過して、ボトルに詰める」という感じ。別の工程なんです。
[toc]
クローリングって、つまり何をしてるの?
クローリングというと何か難しく聞こえますけど、実は超シンプルなんです。Webサイトって、いろんなページが繋がっていますよね。トップページから「お知らせ」に行けて、「お知らせ」からほかの記事に行けて…みたいに。クローラーは、その繋がりをたどって、片っ端からページを「見に行く」んです。
例えば、Wikipediaを思い浮かべてください。Wikipediaのトップページには、いろんな記事へのリンクがありますね。クローラーはそのリンクをクリック(自動で辿る)して、次々と別のページを見ていきます。そして見たページの内容を記録して、そのページのなかにある新しいリンクをまた辿る。これを繰り返すんです。まるで、学校の図書館で本を探してて、その本の参考文献に書いてある別の本を探して…という流れと同じ。
ただし、クローラーは人間と違って、ものすごい速度でこれをやります。1秒間に数十ページ、数百ページを見ることだってできるんです。だから、Googleみたいな大企業のクローラーは、毎日何十億というページをチェックできちゃうわけです。もし人間がやったら、1ページ1分かかるとしても、何十億ページを見終わるのに何万年もかかっちゃいます。それがロボットなら数日。そのくらい違う。
クローラーが実際にやってることを細かく分けると、こんな流れになります。
ステップ1:リンクを見つける
クローラーはWebサイトを見て、「このページには〇〇へのリンクがあるな」と認識します。リンクってのは、つまり別のページへの道しるべのことです。HTMLというWebサイトの言語では、リンクが専門的に書かれてるから、ロボットでも見分けられるんです。
ステップ2:そのリンク先に行く
見つけたリンクをクリック(自動で辿る)して、新しいページに行きます。人間がマウスでクリックするのと同じことを、プログラムが自動でやります。
ステップ3:ページの情報を記録する
訪問したページの内容(テキスト、リンク、画像のURLなど)をデータベースって呼ばれる大きな保管庫に記録します。データベースってのは、つまり「デジタル図書館」みたいなもので、めっちゃ大量の情報を効率よく保管・検索できる仕組みです。
ステップ4:新しいリンクを探す
記録したページのなかに、まだ訪問していないリンクがないか探します。あったら、またステップ1に戻って、そのリンク先に行きます。
これを延々と繰り返すんです。ネットの海を、ずっと泳ぎ続けるイメージですね。
Google検索の裏側:クローラーがいなきゃ成り立たない
あなたが「〇〇とは」ってGoogleで検索するとき、何がおこってると思います?
実は、Google検索の裏側にはクローラーがいっぱいいるんです。その名前は「Googlebot」(ゴーグルボット)。このGooglebotが、毎日毎日、世界中のWebサイトを巡回して、新しいページがないか、更新がないか、チェックしています。
例えば、あなたが今日のお昼に「推しのアイドルのニュース」っていうブログを書いたとしましょう。そしたら、Googleのクローラーが数時間のうちにそのブログを発見して、「あ、新しいページができた」と記録するんです。そして、あなたが明日「その推しのアイドル」で検索するとき、そのブログの記事が検索結果に出てくる。こういう仕組みなんです。
もしもクローラーがなかったら、どうなると思います?Googleは新しいページが追加されたことを知る方法がなくなっちゃう。ネット上の数十億というWebサイトを、誰かが手動でチェックして、「あ、ここ新しい記事が出た」って一個ずつ記録する?それって絶対無理ですよね。だから、自動ロボットが必要なんです。
Google検索がすごく速いのは、このクローラーが24時間働いてくれてるからなんです。常に新しい情報を集め続けてるから、あなたが検索するときに、新しい情報も古い情報も、関連性が高い順に出してくれる。これはクローラーなしじゃできません。
でも、ちょっと違う見方もある。
実は、すべてのWebサイト所有者が「Googleのクローラーに来てほしい」と思ってるわけじゃないんです。例えば、会員専用ページとか、個人情報が書いてあるページとか、検索結果に出すべきじゃないページもありますよね。だから、Webサイトの持ち主は「このロボットは来ていい、あのロボットは来るな」って指示を書いておけるんです。その指示ファイルを「robots.txt」(ロボッツテキスト)といいます。つまり「ロボットたちへの手紙」という意味ですね。
Googleのクローラーは、Webサイトに訪問するたびにまずこのrobots.txtを読んで、「このサイトでは僕たちはどこまで見てもいいのか」をチェックするんです。それから、ルールに従って巡回します。きちんと約束を守るロボット、みたいな感じですね。
クローリングが活躍する場面いろいろ
クローリングって、Google検索だけじゃなくて、いろんなサービスに使われてるんです。
1. ニュースアプリ
LINEニュースとか、SmartNewsとか、いろんなニュースアプリがありますよね。あれは何をしてるかというと、ニュースサイト(朝日新聞、日本経済新聞、など)のWebサイトをクローリングして、最新記事を自動で集めてる。そしてあなたのアプリに「新しい記事がありますよ」って配信するわけです。人間がニュースサイトを毎秒チェックして「あ、新記事が出た」って見つけるわけじゃなくて、ロボットが全自動でやってます。
2. 価格比較サイト
「同じ商品の価格が、Amazonではいくら、楽天ではいくら」って見比べるサイト、ありますよね。あれもクローリングです。いろんなネットショップのWebサイトから自動で商品情報と価格を抜き出してきて、「この商品はどこが安い?」って教えてくれます。
3. SNS
TwitterとかFacebookでも、ニュースがシェアされたときに、そのニュース記事のタイトルや概要が自動で表示されますよね。あれもクローリングです。貼られたURLのWebサイトから、タイトルや説明文を自動で集めてきて、プレビュー表示してくれるんです。
4. ブログやWebサイトの更新監視
「好きなブログが更新されたら教えてくれるサービス」みたいなものもあります。あれもクローリングで、定期的にそのブログをチェックして、「あ、新しい記事が出た」って知らせてくれます。
5. AIの学習データ集め
最近、ChatGPTとか、いろんなAI(人工知能)が出てきていますよね。AIが賢く答えられるのって、何百億というテキストデータを学習してるからなんです。そのデータを集めるのにも、クローリングが使われます。Webサイトから大量のテキストを自動で抜き出してきて、AIに学習させるわけです。
こうやって見ると、クローリングって、インターネット全体を支える重要な技術なんですね。あなたが何気なく使ってるサービス、ほぼ全部のバックでクローラーが働いてます。
クローリングのメリットとデメリット、ルールの話
メリット
クローリングの一番のメリットは「自動化」です。人間が何日もかけてやる仕事を、ロボットが数秒でやっちゃう。だから、常に新しい情報を素早く集められるし、サービスを提供する側も、お金や手間をめっちゃ節約できます。それに、おかげであなたたちは、好きなときに最新の情報を検索で見つけられるし、ニュースアプリで新記事を読めるわけです。
もう一つのメリットは「公平性」。クローラーは人間の感情とか好みに左右されません。「このサイトは嫌いだから見ない」みたいなことはしない。ルールに従って、平等に全部のサイトを巡回します。だから、有名サイトも無名サイトも、同じように検索結果に出される可能性があるんです。
デメリットと注意点
一方で、クローリングには問題もあります。
例えば「スパム」。サイトの所有者が、検索順位を上げるために、わざと同じ言葉を何百回も書いたり、関係ない言葉をいっぱい詰め込んだりする。クローラーがそれを見て、「あ、この言葉たくさん出てる」って判断しちゃうと、本当に良いサイトが埋もれちゃいます。
それから「著作権」の問題もあります。他人のWebサイトのコンテンツ(記事や画像)を、許可なくクローリングして使う。これは違法です。例えば、クローリングで集めた情報を、そのまま自分のサイトにコピペして公開する。それは著作権侵害になるんです。
それにね、クローリングって、サイトに負荷をかけることもあるんです。クローラーが一気にいっぱい来ると、サーバー(つまり、Webサイトを動かしてるコンピュータ)が「お客さんが殺到した」って感じてしまって、サイトが遅くなったり、つながらなくなったりする。だから、大事なクローラーたちも、「1秒に1回まで訪問してね」みたいなルールを守るんです。
だから、今はクローリングのルールが厳しくなってきてます。
robots.txt…サイト所有者が「ロボットはここまで見ていい」って指示を書いたファイル
noindex・nofollow…HTMLに書く指示で、「このページは検索結果に出さないで」「このリンクは辿らないで」って意味
利用規約…サイト所有者が「うちのサイトをクローリングするときは、こういうルール守ってね」って書いたもの
こういうルールを守らないと、サイト所有者に怒られたり、法的に問題になったり、最悪の場合はGoogleから「このサイトは検索結果に出さない」ってペナルティをもらったりするんです。
つまり、クローリング技術自体は超便利で、インターネットを支えてる大事なものなんだけど、使うときは責任をもって、ルールを守りながら使わないといけません。むき出しのナイフみたいな感じで、使い方次第で役に立つこともあるし、悪く使うと危険にもなるわけです。
