テックブログ

スクレイピングについて

初めまして昨年新卒で入社をしましたネットアシスト技術部のFです。
よろしくお願いします。

今回はスクレイピングとアクセスの内容、ちょっとした対策についてまとめていきます。

スクレイピングとは

「スクレイピング(scraping)」とは、日本語では「削る」等と訳されますが、IT用語に限れば「WEBサイトから集めた大量のデータを抽出・加工・整形する事」を指します。

特に大量のデータを抽出・加工するためには、同じく大量のアクセスWEBサイトに行う必要がありますが、その際、過度なアクセスがサーバへの負荷を高め、サービスに影響を及ぼす可能性があるため、規約で禁止している場合もあります。

近い言葉で「クローリング(crawling)」がありますが、スクレイピングは少し違う役割を持っています。

クローリングとスクレイピングの違い

クローリングは日本語なら「這う」事を意味し、IT用語ならWEBページを巡回し、その情報を集める事を指します。またクローリングを行うエージェント、いわゆる「クローラー」は検索サイトならGooglebotやAmazonbotなどが有名です。

混同される事も多いですが、「クローリング」は「情報収集」、「スクレイピング」は「クローリングで集めた情報を抽出・加工する」といった意味となります。

またクローラーが特定のページにアクセスしているのか、または様々なページにアクセスしているのか、といった挙動は、アクセスログを見てみるとわかります。

アクセスログの確認

Apache のアクセスログについては、Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)や、マニュアルにも書かれていますが、今回はざっくり説明していきます。

アクセスログ例

以下はApacheのログフォーマット「combined」書式で記録されたアクセスログの例です。

① リモートホスト (クライアントのIP)

リクエストを送信したユーザーのホスト名、またはIPアドレスが記録されています

(例) 203.0.113.100

② 日時

リクエストが送られた日時(日時とタイムゾーン)

(例) [24/Jan/2025:08:23:53 +0900]

③ HTTPメソッド

ユーザーが使用したHTTPメソッド(GET, POSTなど)

(例) GET

④ リクエストURL

ユーザーがアクセスしたURLパス

(例) /search?query=shoes&category=sports

⑤ HTTPステータスコード

サーバーがリクエストに対して返したレスポンスコード

弊社外のサイトですがこちらで詳しく確認できます。

https://developer.mozilla.org/ja/docs/Web/HTTP/Status

(例) 200

⑥ レスポンスサイズ

サーバーが返したレスポンスのサイズ(バイト数)

(例) 1048576

⑦ リファラ(Referer)

ユーザーがどのページから移動してきたかの情報

※リファラがない場合もあります。

(例) ”https://example.com/home

⑧ ユーザーエージェント (User-Agent)

リクエストを送信したブラウザやデバイスの種類を示す情報

使用されたブラウザやデバイスなどを確認できます。

(例) ”Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36″

対策

サーバのリソースにもよりますが、クローラーから1秒間に1クライアントで1000リクエスト等、短時間で大量のアクセスがある場合は、サービスに影響が出てしまうことや、最悪サーバ自体が停止する場合もあります。

お客様で設定をしていただく必要がありますが、検索サイトのクローラーであれば、通常はrobots.txt ファイルを設置・設定を行う事で、アクセスの制限が可能な場合があります。

また、単純なスクレイピング目的でのクローリングについては、手作業で調査して遮断する、といった事も可能ではあるのですが、WAF(Web Application Firewall)の導入などを視野に入れていただくことで、障害を未然に、かつ自動的に防げる可能性があります。

ネットアシストではファイアウォールなどで防げない攻撃から守るWAFをご提供しております。

事前に調査のご依頼をいただくことで、お客様にあったWAFを提供できますので、詳しいWAFの資料につきましては下記のフォームよりお問い合わせください。

最後までお読みいただき、ありがとうございました。

この記事をシェアする

  • facebook
  • twitter
  • hatena
  • line
URLとタイトルをコピーする

実績数30,000件!
サーバーやネットワークなど
ITインフラのことならネットアシストへ、
お気軽にご相談ください