【スクレイピング】robots.txtの読み方を徹底解説!

【スクレイピング】robots.txtの読み方を徹底解説!
目次
そもそもrobots.txtとは?どこで見れるの?
実際にスクレイピングをする前に、robots.txtを確認する必要性を分かっていても、どうやって読むのか分からない人もいるかもしれません。
そこで、今回はrobots.txtの読み方を解説します。
robots.txtとは、どのクローラーや閲覧者に、どのページを見ていいのか、見てはいけないのかを説明しているファイルになります。
robots.txtはサイトのホームディレクトリ直下に設置されることが多く、誰でも簡単に確認することが出来ます。
こちらの記事で、robots.txtの確認方法の説明や実際に総務省HPでrobots.txtを調査をしていますので、興味がある方はご参照ください!
【スクレイピング】簡単なrobots.txt確認方法~総務省と国立国会図書館の「robots.txt」を調べてみた
robots.txtの項目とは?
robots.txtは主に
User-agent
Disallow
Allow
Sitemap
という項目から成り立っています。
例えば、このブログのrobots.txtは下記の画像のような内容となっています。
今の段階では、よく分からないかもしれませんが、ルールは非常に簡単ですので、一つずつ解説していきます。

解説「User-agent」
User-agentとは、クローラやユーザーが何のソフトやマシーンを使っているのかを示します。
WebサイトはWebサーバーに「この情報を欲しい」をいうリクエストをして戻ってきた情報です。
このリクエストをする際に、**クローラーやユーザーの方から利用しているブラウザや機器の情報**がWebサーバーに渡されます。
robots.txtでは、このUser-agentを指定することでアクセスしてきた人やクローラを指定することが出来ます。
例えば、google画像検索のクローラーは
User-agent: Googlebot-Image
このように指定されます。
また、
User-agent: *
このように記載されているケースがありますが、これはワイルドカードと呼ばれるものです。
ワイルドカードとは、『**全て**』を指定している記号であり、この場合は全てのユーザーエージェントを指定しています。
ワイルドカードは、robots.txt以外でもプログラミングにおいて広く使える知識ですので覚えておくと便利です。
解説「Disallow」
Disallowとは、クロールや閲覧をしてはダメなwebページを示します。
先ほどの、User-agentで指定されたアクセス者が見てはいけないwebページを指定している場所なので、スクレイピングする際は必ず対象のページがDisallowに指定されていないかをチェックしましょう。
robots.txtでは
Disallow: /useless_file.html
このように指定されます。
解説「Allow」
Allowとは、クロールして良いwebページを示します。
先ほどの、User-agentで指定されたアクセス者が、どのページは見て良いのかを明示的に示したものです。
AIlowの記載はオーバーライド、つまり上書きされるため、Disallowに指定されていたとしてもAllowで再度指定されていれば、クロールや閲覧は可能です。
robots.txtでは
Allow: /public/
このように指定されます。
解説「sitemap」
sitemapとはサイトの構造を記述してあるxmlファイルです。
sitemapの中身は、Googleにクロールして欲しいページを指定しています。
robots.txtのsitemapではsitemapが書かれているxmlファイルの場所を記述しています。
Sitemap: https://example.com/sitemap.xml
ただし、robots.txtに直接記載しなくてもGoogle Search Console上で簡単に送信や更新ができるので記載していないことが多いです。
Google Search Consoleヘルプ「サイトマップ レポートを使用してサイトマップを管理する」
WordPressのrobots.txtを見てみよう
WordPressでは、仮想robots.txtがデフォルトで生成されます。
これは簡単に言うと、robots.txtの機能を果たすようなファイルが自動生成される、と言うことです。
WordPressで作られるrobots.txtは下記画像の通りです。
これは全てのユーザーにwp-admin以下のディレクトリをクロールしないように指定しています。
wp-adminのディレクトリは管理画面になりますので、管理画面の中はクロールしないでくださいと言うことですね。
もっと詳しく知りたいと思った方は、こちらがrobots.txtに関するGoogleの公式ドキュメントになりますのでご参照ください!
Google検索セントラル「robots.txt の書き方、設定と送信」
