通常のブラウザサーフィン活動のようにあなたのウェブスクレイピング活動をマスクする?

c# html-agility-pack web-scraping

質問

私はHtml Agility Packを使用しており、このエラーが発生しています。 "リモートサーバーがエラーを返しました:(500)内部サーバーエラー"特定のページで

今私はこれが何であるか分かりません。Firefoxを使って問題なくこれらのページにアクセスできるようになりました。

私は、ウェブサイト自体がブロックされており、応答を送信していないと感じています。 FireFoxから呼び出されているコールのようにHTMLアジリティパックを呼び出す方法はありますか?

私は既にタイマーを設定しているので、20秒ごとにウェブサイトに送信するだけです。

私が使用できる他の方法はありますか?

受け入れられた回答

通常のブラウザと同様にUser-Agentを設定します 。ユーザーエージェントは、HTTPクライアント(ブラウザー)がサーバーに自身を識別させるために渡すHTTPヘッダーです。


人気のある回答

スクラップとスクレイピー(?)の間の武器競争は、データのアクセス/保護がどれほど悪いかによって、サーバが掻き分けを検出する方法はたくさんあります。あなたが見つからないようにするのに役立つものは次のとおりです。

  1. 送信されるすべてのhttpヘッダーが、通常のブラウザと同じであることを確認してください。特に、ユーザーエージェントとURLリファラーが重要です。
  2. 通常のブラウザのように、すべての画像とCSSスクリプトをブラウザからダウンロードします。
  3. 後続のリクエストごとに、設定されているCookieが送信されていることを確認してください
  4. サイトrobots.txtに従って要求が絞られていることを確認してください
  5. サーバーがハニーポットを設定している可能性があるため、フォローしていないリンクがないことを確認してください
  6. あなたのIPアドレスを変更するためのプロキシサーバーの束を入手してください
  7. 彼らがあなたがロボットだと思うので、サイトがcaptchaを送信し始めていないことを確認してください。

ここでも、サーバの設定がどれほど洗練されているかによって、リストに進むことができます。




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ