Pythonはクローラーとアンチクローラーを知っています

参考資料:Pythonクローラー、本当にわかりますか? :[https://www.bilibili.com/read/cv4144658](https://www.bilibili.com/read/cv4144658)

クローラー:人件費を節約するためにコンピューターから情報を取得します。節約しない場合は、使用する必要はありません。

究極のアンチクローラー:コンピューターと人を区別して、コンピューターへのアクセスを排除し、人がアクセスできるようにします。

最終的な結論:爬虫類と反爬虫類には終わりがあります。

 クローラーの終わりは、極端なユーザーシミュレーション(自動化)です。

 反爬虫類の終わりは、機械では認識できないが人間では認識できる検証コードです。

 だから、トラブルを救うために、自動化するための1つのトリックを学んでみませんか?少し遅いですが、大丈夫そうです。自動化して重要な情報を取得してから、同時リクエストに移動します。

一般的な爬虫類対策:

1、 訪問頻度

頻繁にアクセスすると、IPに対して一定期間Webサイトがブロックされる場合があります。これは、アンチDDoSの原則と同じです。クローラーの場合、このようなタスクの頻度を制限するだけで十分です。

クローラーに人間のように頻繁にWebページにアクセスさせ、5秒と10秒間スリープさせます。

2、 ログイン制限

情報を公開するウェブサイトには一般的にこの制限がないため、ユーザーは面倒です。これは、Cookieを追加して、シミュレートされたログインによって回避されます。

3、 ヘッダーをブロックする

ヘッダーを追加するだけで、偽造者がリクエストヘッダーをランダムに生成できます。

4、 Webサイトデータを動的に取得するJavaScriptスクリプト(アップグレード)

一部のWebサイト(特に単一ページのWebサイト)のコンテンツはサーバーから直接返されませんが、サーバーはクライアントJSプログラムのみを返し、JSがコンテンツを取得します。より高度な

つまり、jsはローカルでトークンを計算し、このトークンをajaxに使用してコンテンツに移動します。ローカルjsはコードが難読化および暗号化されているため、リクエストの解析が難しくなります。

ただし、ブラウザの操作を直接シミュレートすることで簡単に解読できます。

5、 検証コード(究極の武器)

確認コードは、人とコンピューターを区別するために特別に使用される手段です。クライミング防止のためには、検証コードの問題を解決できる必要があります。一般的な検証コードであるGoogleのreCAPTCHAは、非常に証明されています。

6、 ip制限

ウェブサイトで識別される可能性のあるIPは永久にブロックされます。この方法は多くの人的資源を必要とし、誤ってユーザーを殺すコストが高くなります。クラッキングの方法は、プロキシプールを使用することです。

7、 アンチクロールウェブサイトのコンテンツ

一部のWebサイトでは、コンテンツを写真の形式で表示するなど、Webサイトのコンテンツを人間だけが受信できる形式で表示します。画像認識はocrを使用できます。例:単一のリンク要求によって返されるデータ

これは画像のエンコードの一部にすぎず、複数のURL戻り結果を組み合わせた後、完全な画像を取得できます。

Recommended Posts

Pythonはクローラーとアンチクローラーを知っています
Pythonクローラー|コグニティブクローラーのリクエストとレスポンス
pythonクローラーのMongodbとpythonの相互作用
Python and Go
Python3クローラーlearning.md
Python Webクローラー(練習)
Pythonの内省と考察
[python] ubuntuの下のpython2とpython3
python_クローラーの基本的な学習
Pythonの分解とパッケージ化
Python3の構成とentry.md
Pythonクローラーgerapyクローラー管理
Pythonの自動操作とメンテナンス2
centos7はpython3とipythonをインストールします
Linuxを理解し、CentOSをインストールする
ubuntu18.04python3.8をコンパイルしてインストールします
Python3クローラーデータクリーニング分析
PythonクローラーのJSの分析
Centos6.10はpythonとyumを再インストールします
Pythonオープン読み取りおよび書き込み
CentOS7はpython3とpip3をインストールします
Pythonの自動操作とメンテナンス1
Pythonのデータ構造とアルゴリズム
Pythonマルチプロセスおよびマルチスレッドの基本
CentOS6.9はpythonをコンパイルしてインストールします
CentOS6はpython3をコンパイルしてインストールします
pythonクローラー用のSeleniumビジュアルクローラー
Pythonのジェネレーターとイテレーター
Pythonとjsのインタラクティブな呼び出しメソッド
魔法の方法とPythonの使用
Pythonは正と負の数を判断します
pythonftpアップロードファイルとフォルダー
FMアルゴリズム分析とPython実装
pythonの一般的なエラーと解決策
Pythonは文字列と数値のスプライシングを実装します
Python関数の定義とパラメーターの説明
Pythonクローラーの基本的な知識ポイントの仕上げ
Pythonクローラーのスクレイピーシミュレーションログイン
CentOSはPython3とpip3をすばやくインストールします
Python3をインストールし、CentOS8でansible
PDFおよびCDFの例を処理するPython
株で遊んでPythonを学んだ
centos7でpython3環境を構成し、
Pythonはjsonファイルを読み書きします
Pythonはユーザー名とパスワードの検証を実装しています
CentOS7の下にPython3とPyをインストールします
パイソンクローラー開発の学習パス
pythonクローラーは簡単に習得できますか
Pythonの基本的な構文と数値タイプ
Python学習OSモジュールと使用法