web-dev-qa-db-ja.com

エージェントWget / 1.12(linux-gnu)をブロックする必要がありますか?

スクレーパーですか?現在テスト目的でパスワードで保護されているサイトにアクセスしようとしました。それをブロックしますか?

5
getbuck

Wgetは、HTTP経由でリソースを取得するLinux用のコマンドラインツールです-これは、誰かがコマンドライン経由であなたのサイトにアクセスしたことを示しています。

サイトが適切にパスワードで保護されている場合、特定のユーザーエージェントをブロックする必要はありません:) x

13
Emily Shepherd

はい、wgetには正当な用途がありますが、Webスクレイピングにも非常に便利です。ただし、ユーザーエージェント文字列を使用して、ブロック(または他のエージェント)をブロックしようとする必要はないと思います。

wgetは、デフォルトでrobots.txtファイルを尊重します。スクレイパーがそのオプションをオフに切り替えることができるのは事実ですが、HTTPレベルでブロックを開始する場合、--user-agent MSIE(blahblah)を使用してInternet Explorerになりすますのは簡単です。以前にスクレイピングスクリプトを書いたことがありますが、UAを変更することが最初のステップの1つであると信じる方がいいでしょう(それがうまくいかない場合は、常にギアを切り替えて、もちろんIEを自動化するスクリプトを書くことができます)。

本当に心配な場合は、ボットのようなbehavior-リファラーのないページ、短すぎるリクエストが多すぎるなどを試してキャッチする必要があります。しかし、私はあなたを恐れていますサイトをスクレイピングしたい人にとっては、可能な手段をバイパスすることは非常に簡単だとすぐにわかります(1時間あたり1ページの閲覧しか許可しないなど、ユーザーにとって煩わしいものは除きます)。また、これは大きなタイムシンクになる可能性があります。

基本的に、正当なユーザーがあなたのページを見ることができる場合、スクレイパーもそれを見ないようにするためにできることはあまりありません。

5
Casey

wgetはスクレイピングによく使用されます。 Webページとそのアセットをダウンロードするためのコマンドラインツールです。 Webサイトが公開されていない場合、スクレイピングを行うボットであることはほぼ確実です。そのため、ブロックできますが、wgetはrobots.txtを無視するように簡単に指示できるため、robots.txtでブロックするよりも高度な処理が必要になる可能性があることに注意してください

.htaccessのこの特定のユーザーエージェントに、次を追加できます。

BrowserMatchNoCase Wget/1.12 (linux-gnu) wget
Order Deny,Allow
Deny from env=wget
1

このような質問を読むたびに、ヘンリーとジューンのケビン・スペイシーのキャラクターを思い浮かべます。常に彼の最高の小説を書いていたが、誰かが彼のアイデアを盗むのをとても心配していたので、彼の胸の近くに運ばれ、ブリーフケースに閉じ込められました...

すべてのLinuxユーザーは、「正当な」wgetユーザーです。私は、debs、ビデオ、バイナリなどをつかむために頻繁に使用します。コマンドラインから簡単に操作できるため、非常に便利です。しかし、それは間違いなくその唯一の用途ではなく、Firefoxまたはmsieとして表示することは1つだけです-パラメータが離れているため、それをブロックするのに時間を浪費しています。どちらかといえば、あなたがそうするなら、あなたは通りすがりの人の注意を引き付けるでしょう。ユーザーエージェント文字列を変更し、「隠された」ものを探し始めます。

1
brad sanders