【考察】Googleのクローラーの仕組みについてクローラー作ってみよう!

こんばんわアリスです!

今月11日、Googleが書いた絵を認識してくれるという”AutoDraw”を発表したと話題になっています

Google、機械学習を応用した無償のオンラインお絵描きツール“AutoDraw”を発表

Googleの画像認識/分類API、Cloud Vision APIが誰でも使える公開ベータへ

【衝撃】Googleの人工知能が描いた絵が凄すぎる! 絵を見た人「ぎゃあああああ怖すぎる!!」「芸術的だ!!」

ほかにも便利なものに既に画像検索があります。

画像をGoogleが認識して似たような画像を探し出してくれます。

パソコンからだと、画像検索→検索枠にあるカメラマークをクリック→画像をドラッグすれば検索できます。

スマホでも、chromeだと設定→PC版を表示、あとはPCと同じ要領ですが、ドラッグできないので、フォルダを選んでアップロードします。

僕は使わないですが使う人には便利?

話がだいぶタイトルから話題が反れましたが

今日は、Googleのクローラーの仕組みについて考えてみたいと思います。

クローラーとは?

WEBページを巡回しながらインデックス、データベースに保管するという作業を行っているbotです。

botといったらGoogleが有名ですがほかにもbotはあるみたいですが無視していいと思いますw

Googlebotを僕が妄想の中で作ってみたので発表したいと思います。

Googlebot大地に立つ

まずbotはリンクを辿ってサイトを巡回するといわれるています。

それはこういうことです。

パソコンからだと右クリックして「ソースを表示」という欄をクリックしてみてください。

英数字が並んでいると思います。

これをGoogleは読んでいます。

実際にSearch Consoleから入り→クロールの項目内→Fetch as GoogleBotから取得をクリックします。

完了をクリックしたらbotがどのようにサイトを見ているか見れます。

ここからインデックス登録をリクエストすることができます。

さらにリンクを辿る

上述のように、ソース取得することができたのですが、ここからさらにhttp://という文字が含まれた場所を探しリスト化ます。

クロールを開始する際は、前回のクロールで生成され、ウェブマスターから提供されたサイトマップによって補強された、ウェブページの URL リストを使用します。Googlebot はこれらのウェブサイトすべてにアクセスし、各ページのリンクを検出してクロール対象ページのリストに追加します。また、新しいサイト、既存のサイトへの変更、無効なリンクを検出し、この情報で Google インデックスを更新します。

Google 検索の仕組み

このとき無駄なページ、広告ページなどにはアクセスしないようにrobot.txtに記述してねとGoogleでは公式に発表してます。

ウェブマスター向けガイドライン(品質に関するガイドライン)

ここまでで、ページを認識してクロールするというだけのクローラーは完成します。

ここまで作るのは凄い簡単ですが、これを世界中で行い、もんのすごいページ数インデックスするとなると凄い容量になりそうですね^^;

キーワードの出現率を計る

こっからが本番です。実際には上の内容も僕は妄想の中で作っていたんですが

上の内容だとただ、Googleに書いてあったことを解釈しただけに終わります。

そこで今度はキーワードの出現率を計ります。

どのようにしてキーワードの出現率を計るかというと日本語の場合は、ひらがな、カタカナ、漢字がありますので、それを分けて考えれば出現率が計れます。

http://をリスト化する際にもどこへ向けたリンクなのかなど、インデックスする際にこのようにしてURLの評価もしていると思います。

質も計ってみる

ここから更に素人レベルでは厳しい問題が発生します。

キーワードだけで評価してしまうと、同じ文字列を乱立しただけでも上位表示ができてしまいます。

そこで質を計らなくてはなりませんが、これ結構難しいですよね

人間にはキーワードが関連性があると認識できますがbotにはただの文字の羅列にしか見えない

そこで関連性の高い被リンクを指標に使っているものと思われますが

文字列としてもどうも評価している臭いが、それだとただ文字数が多いコンテンツを評価してしまうので

現在Googleが持っているインデックスから評価する

発リンクも評価する

この2つを僕は使いたいと思います。

発リンクは評価が終わってるページですので、そのページがどのようなページがわかっていれば「いいサイトにリンクを送っているな」と認識できると思います。

現在Googleが持っているインデックスとは?

まず先ほど計ったキーワードの出現率で多い順に

対象ページになにが書かれているか認識します。

今回は「SEO」とします。

既に「SEO」でインデックスされているページは沢山あり、その中でも被リンクが高く、上位表示されているページがあると思います。

このページを対象ページがどんなページか認識するのに使います。

ページごとにスコア、ゲームなどでよくある攻撃力、防御力、HP、MP、素早さ、魔力、かっこよさみたいな感じで

ページに含まれている文字

SEO        ★★★★★ 出現数5

google     ★★★★★ 出現数4

被リンク ★★★★☆ 出現数3

数はもっと膨大になりますがこのような感じで評価していきます。

単純にどのページでも「SEO」というワードで書いたから1点をつけると、

昨日始めたページが1つ書いても

何年も「SEO」について研究してきたページでも同じ順位になってしまいますのでここで

ドメインオーソリティを見るサイトの評価を視覚化してしまうというツール

ドメインオーソリティのように、内部でもどれだけこれまで「SEO」について書いてきたかを評価します。

実際にインデックスしたページはこのようにして見れます。

site:http://usachannel.info/

このようになります。

いかがだったでしょうか?

実際に作ってみるとかなり大変そうですねw

ページをテキスト、これまでの履歴でもスコア化しておくと、ほかのページを評価するのにも使えていいと思います。

絶対これでGoogleはあなたのページにも点数をつけていますよ・・・フッフッフッ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする