スクレイピング時にユーザーエージェントを隠す方法

ブラウザ
ブラウザはインターネットを見るためのソフト

スクレイピングもインターネットを介して実行するので、ユーザーエージェントの記録は残ります。ユーザーエージェントとは使用しているOSやブラウザのことですが、スクレイピングする際は隠した方が無難です。

本記事では、ユーザーエージェントを隠す方法を解説します。まったくの初心者を対象にしているので、ユーザーエージェントの解説から始めたいと思います。

ユーザーエージェントの定義を整理

ユーザーエージェントの定義を整理します。

ユーザーエージェントとは

Webページにアクセスする際にHTTPを解釈するプログラム、ソフトウェアのことである。

https://www.pi-pe.co.jp/miteshiru/word/useragent/#:~:text=%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%A8%E3%81%AF%E3%80%81Web,%E4%B8%80%E7%92%B0%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%E3%80%82

ブラウザ
ブラウザはインターネットを見るためのソフト

こちらのサイトでは、ユーザーエージェントを的確に定義していますね。

インターネットをするときはブラウザも必要ですが、ブラウザを搭載するOSも必要です。これらがHTTPにアクセスしますが、アクセス者の記録は残ります。スクレイピングをしたときも同じです。

なぜユーザーエージェントの記録は残るのか?

多くのプログラム言語には、ユーザーエージェントを取得する関数があります。長々と記述する必要はなく、$_SERVER[‘HTTP_USER_AGENT’]と記述するだけです。(phpの場合)

簡単でしょ?笑

私もプログラマー時代にこの関数を使ったことがありますが、ユーザーエージェントが記録されたときは嬉しかったです。

プログラミングなしでもユーザーエージェントは取得できるよ

プログラミングでユーザーエージェントを取得してもいいけど、プログラミングの心得がない人は難しいですよね。

そんな人でもレンタルサーバーを借りたら、ユーザーエージェントは取得できますよ。多くのレンタルサーバーには、アクセス解析ソフトが設置されています。アクセス解析ソフトはユーザーエージェントだけではなく、検索キーワードも記録するものが多いです。

スポンサーリンク

スクレイピングをするときはユーザーエージェントを偽装

スクレイピングもブラウザ経由でサーバーにアクセスするので、ユーザーエージェントは残ります。しかし偽装することは可能です。

chromeの拡張機能を使う

https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg/related

「User-Agent Switcher for Chrome」をブラウザに追加します。ボタンを押すだけで追加できるので、ローカルにダウンロードする必要はありません。

User-Agent Switcher for Chrome
簡単に偽装できる

 

使い方ですがchromeの拡張機能から、「User-Agent Switcher for Chrome」をクリックするだけです。するとさまざまなブラウザやスマホのOSが表示されます。

お気軽にユーザーエージェントを隠したい人は、利用してもいいでしょう。

プロキシサーバーを使う

ユーザーエージェントを偽装するソフトもありますが、精度はあまりよくないという意見が多いです。精度が悪い理由は不明ですが、完全偽装できなければ使う意味がありませんね。

完全に偽装したい人は、プロキシサーバーがいいかもしれません。プロキシサーバーとはクライアントとwebサーバーの間に位置するサーバーですが、最終到達地のwebサーバーにはプロキシサーバーのユーザーエージェントが通知されます。

webサーバー側が何らかの対策を取っている場合は、プロキシサーバーでも偽装がバレるかもしれませんが、精度という点ではかなりいいと思います。

定期的にブラウザを変更する

chrome
xpathを取得するときは、chromeを使いました。

大部分のブラウザは無料なので、スクレイピングをするときは、定期的にブラウザを変えましょう。

有名なブラウザには以下があります。

  • Google Chrome(グーグルクローム)
  • Firefox(ファイヤーフォックス) …
  • Microsoft Edge(マイクロソフト エッジ) …
  • Internet Explorer(インターネットエクスプローラー)

スポンサーリンク

IPアドレスの隠蔽は海外のプロキシサーバー

ユーザーエージェントも隠した方が無難ですが、その前にIPアドレスを隠蔽すべきだと思います。

プロキシサーバーでIPアドレスが隠蔽できる理由

プロキシサーバー
プロキシサーバーは、最近注目されている

プロキシサーバーは、クライアントとサーバーの間に位置しています。ユーザーが送ったリクエストは、最初はプロキシサーバーに届き、それから任意のサーバーに届けられます。

サーバーにアクセスしたらIPアドレスが記録されますが、記録されるIPアドレスはプロキシサーバーのIPアドレスです。

大手のプロキシサーバーは複数のIPアドレスを保有していることが多いので、定期的にIPアドレスを変更するのは簡単です。

プロキシサーバーを利用するときはブラウザで設定

プロキシサーバーを利用するときは、ブラウザで設定します。ブラウザの設定画面にはプロキシサーバーという項目があり、そこにプロキシサーバーのアドレスとポートを指定します。

ブラウザによってはOSのプロキシ設定画面に移行しますが、基本は同じでアドレスとポートを指定するだけです。

極めて簡単に設定できるので、IPアドレスを隠蔽したい人はプロキシサーバーが一番です。

海外のプロキシサーバーの見つけ方

英語サイト
英語サイトのスクレイピングはメリットがある

海外のプロキシサーバーを見つけるときは「プロキシサーバー 海外」のキーワードで検索したらいいと思いますが、海外のプロキシサーバーであれば何でもいいわけではありません。

日本語化したプロキシサーバーでなければ、英語が理解できない日本人は使いにくいです。

一押しはBright Data

Bright Dataは世界各国にデータセンターを置いているので、英語圏以外のIPアドレスも保有しています。

日本のIPアドレスも保有していますが、完全に隠蔽したい人は海外のIPアドレスを選択した方がいいと思います。選択方法は簡単で、SELECTボックスからIPアドレスを選ぶだけです。

Bright Dataは日本語化がかなり進んでいるので、英語が解らない日本人でも問題なく使えます。無料体験もあるので、関心のある方は試してくださいね。

Bright Dataの公式サイト

日本人の担当が確実に着くのは本ブログ経由の方のみになりますので、ご注意ください。こちらのサイトからお申し込みいただければ、間違いなく日本人担当がつきます

まとめ

スクレイピング時にユーザーエージェントを隠す方法を解説しましたが、最初に隠すべきはユーザーエージェントではなく、IPアドレスです。

IPアドレスは固有の識別番号なので、相手の特定は簡単です。そのためIPアドレスがバレてしまったら、ブロックされやすいです。

IPアドレスを隠すときは、プロキシサーバーに限ります。Bright Dataは人気のプロキシサーバーで、年々利用者が増えています。

1度お試しください。

Bright Dataの公式サイト

日本人の担当が確実に着くのは本ブログ経由の方のみになりますので、ご注意ください。こちらのサイトからお申し込みいただければ、間違いなく日本人担当がつきます