2011-02-08 7 views
0

私は最近、コンテンツ用のウェブサイトをたくさん巡ってきましたが、これまでのところサイトがこれほど抵抗を感じることができなかったのは驚きです。理想的には、私が取り組んでいるサイトは簡単に収穫できないはずです。だからボットがあなたのウェブコンテンツを収穫するのを止める最善の方法は何か不思議に思っていました。 明白な解決策:コンテンツがクロールされないようにするための最良の手段は何ですか?

  • robots.txtの(いや右)
  • IPブラックリスト

は、ボットの活動をキャッチするために何ができますか?データ抽出を困難にするためには何ができますか?それらに悪いデータを与えるために何ができるのですか? SEOの懸念について

、データの特定のブロックへのアクセスを制限する方法がある(種類のテキストの<nofollow>ブロックのように?) ジャストアイデアを探して、ない右/間違った答え

+7

うん...インターネットに接続しないでください。 –

答えて

4

使用クライアント側復号化/復号化スキーム。基本的にいくつかのコード化されたデータを送ってから、それを読み込み可能なものにデコードするためにJavaScriptに依存します。クローラはあなたのコンテンツを取得しますが、少なくともあなたのサイトが大きくなりすぎて人々がそれを特にターゲットにするまでは、無駄になります。

しかし、なぜあなたはそれをしたいですか?検索エンジンでサイトのインデックスを作成したくないのですか?

+0

あなたの答えに同意します。このテクニックの欠点は、それが悪いのは、検索エンジンには適していないが、あなたのトラフィックは、良い解決策であるよりも、Facebookのような検索エンジンから来ていない場合は、ページSEO **に悪い影響をWebサイト**です – Adeel

+0

良い、特に、私は特定の情報を保護したいだけです。残りのサイトは、ボットによって索引付けすることができます。 – Moak

1

ip(ユーザエージェントと組み合わせてもよい)による活動を追跡し、ページ呼び出し間の遅延によってボットを検出しようとします。一定の期間内に要求されたURLが多すぎます - 変更されたコンテンツのリダイレクト、リダイレクト、またはあなたが気にしていたことを始めてください。

1

javacriptクッキーをクライアントに設定します。サーバー側では、このCookieの存在を確認し、Cookieが存在する場合にのみコンテンツを提供します。

Cookieが存在しない場合は、JavaScriptを使用してCookieを設定してページを再読み込みするページを送信します。

これはjavascriptを実行しないすべての自動Webツールを防ぎます。

1

クローラが本当に欲しいのであれば、クロールを防ぐことはできませんが、あなたはそれを楽しむことができます。

ウェイズログ解析により、IP

  • により、ユーザエージェント
  • によってボット

    • を検出するために(ほとんどの時間は、ボットがx秒ごとに1ページをロード)
    • javascriptの負荷ANを作りますすなわち、[yadda.gif]。あなたは、特定のページをロードしますがyadda.gifをダウンロードしていなかった、あなたはJSが有効になっていないと、オッズは、あなたがボットている(またはnoscript要素を使用している)ということであれば

    可能な処罰:

    • thoutput rateを非常に低く設定すると、何かをダウンロードするのが永久にかかるので、microsoft.comにリダイレクトします。あなたは、Apacheのmod_throughputまたはphpの出力バッファリング関数でこれを行うことができます
    • リターンの不器用な、devowelの内容やそのようなもの。
  • +0

    +1罰のために=) – Moak

    +0

    +1も刑事のために:)私はボットを検出するあなたの方法に同意する、私は今言うことを1つは、平均以上のボット実際には要求が行われた。私は本当にユーザーエージェント、IPとブラウザーの解像度などのブラウザによって漏れた他の情報を強調したいと思います... –

    0

    Captchaを実装すると、人間が自分のサイトを閲覧できるようになります。

    +0

    Captchaはサイトを見るだけでかなり悪い考えであり、サイトトラフィックなどにかなり悪影響を及ぼす可能性があります。フォームやその他のサブミット済みコンテンツ –

    +0

    もちろん、あなたは正しいですが、キャプチャは、JavaScriptが有効になっているクローラを効果的に防ぐためのいくつかの方法の1つです。私はこれに否定的な副作用がないとは決して言いませんし、否定的な影響を及ぼさない措置を求める質問もしません。私が知っている限り、多分コンテンツスクレイピングがより効果的に防止されるならば、質問の著者は人間のユーザにとって障害を受け入れるでしょう。 – marapet

    +0

    スタックオーバーフローのようにすぐにキックインしないと、これは良いことだと思います。 – Moak

    2

    ウェブスクレイパーを止めようとするのは簡単ではありません。複雑で常に進化している解決法がなければ、難しさの限界を上げ、継続していくことが十分に決まっていないことを願っています。あなたができることのいくつかは:

    • レート制限です。 IPに基づいてこれを行うのではなく、むしろ のユニークセッションを使用して、NATの背後にあるユーザーをブロックしないようにしてください。
    • ユーザーがページにアクセスするためにjavascriptを実行するように強制します。 これを行うにはいくつかの方法がありますが、それは非常に難しくなります 掻きはまだ不可能ではありません。多くのスクリプトツール (ルビー、セレニウムなど)があり、実際のウェブ ブラウザを使用してスクレイプすることができます。
    • IPブラックリスト。

    SEO /トラフィックの損失を避けるために検索エンジンをホワイトリストに登録する必要があることに注意することも重要です。ほとんどの検索エンジンをホワイトリストにするには、ユーザーエージェントを見て、IPのwhoisと比較します。

    完全開示のため、私はDistil Networksの共同創始者であり、サービスとしての擦り傷防止ソリューションを提供しています。これは、あなたの質問に静的な答えがあるとは思わないという点で私に偏ってしまいます。それはあなたが常に戦い続けなければならない武器競争です。

    関連する問題