【selenium】robots.txtってなんやねん。

コンテンツ
IT・テクノロジー
みなさんこんにちは。

イプシロンです。

スクレイピングを実施する前に注意しなくてはならないのが、
webサイトの利用規約や注意事項です。
なぜなら、目的次第では利用規約に反して相手先に迷惑をかけてしまう可能性があるからです。

その中で、「robots.txt」の存在は必ず出てきます。


今日はその、「robots.txt」について書きます。


では、いってみましょう!!!



robots.txtとは

ロボッツテキストと呼びます。
クローラーに対するWebページへのアクセス制限(ルール)を記載したファイルのことです。
Webサイトのルート配下に配置されていて、以下のように対象サイトのURLに直打ちすると、閲覧することも可能です。

(例)ココナラのサイトに対して、robots.txtを確認したい場合
https://coconala.com/robots.txt

するとこのようになります。
220805_002_ココナラブログ.png

robots.txtのフォーマットについて

基本的には以下のことが記載されています。
【User-agent】
  →意味:クローラーの名前を指定
【Crawl-delay】
  →意味:巡回頻度(秒数)
【Allow】
  →意味:指定されたパス配下はアクセス可能
【Disallow】
  →意味:指定されたパス配下はアクセス不可
【Sitemap】
  →意味:sitemap.xmlの場所を明示
となります。

ここで、先ほどのココナラのrobots.txtを読んでみましょう。

User-agent: *
Disallow: /tags/
Disallow: /register
Disallow: /login
Disallow: /smartphone/register
Disallow: /smartphone/login
Disallow: /magazine/wp-admin/
Sitemap: https://coconala.com/sitemap.xml

解読結果

以下のような意味合いになります。
User-agent: * ←全てのクローラー対象
Disallow: /tags/ ←「tags」で始まるディレクトリやファイルすべてがアクセス不可
Disallow: /register ←「register」で始まるディレクトリやファイルすべてがアクセス不可
Disallow: /login ←「login」で始まるディレクトリやファイルすべてがアクセス不可

・・・以下同様・・・
といったところです。

補足

ちなみに、先ほどのココナラのrobots.txtに以下のような記載があった場合の読み方も書きます。

Crawl-delay: 5
Allow: / 

この場合は、以下のような意味です。
Crawl-delay: 5  ←5秒間に1回の頻度でアクセス可能
Allow: /  ←全てのパスに対してアクセス可能

つまり、Disallowに記載されているパス以外はアクセス可能。
ただし、5秒間に1回の頻度でアクセスしないとダメ。
という解釈になるわけです。
ちなみに、Allowにパスが記載されていることが多いですが、
読み方はDisallowと同じです。





いかがでしたでしょうか。


スクレイピングを楽しむ前に、そのサイトのルールを確認して、
紳士的振る舞いのもと、スクレイピングライフを楽しみましょう!!!





最後に

Excel&VBAを活用したスクレイピングサービスになります。
サイトの情報をExcelに抽出したり、入力したり、
単純作業を自動化するサービスです。




最後まで読んでいただきありがとうございます。







では ノシ
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す