皆さん、こんにちは。私も学習中にいくつかの問題に遭遇し、経験を積みました。クローラーの学習に興味がある場合は、これらの記事を参考にしてください。誰もが学習経験を共有することを歓迎します。
Python バージョン: 2.7。Python 3 に関する他のブログ投稿を見つけてください。
まず、クローラーとは何ですか?
ウェブ クローラー (ウェブ スパイダー、ウェブ ロボットとも呼ばれ、FOAF コミュニティではウェブ チェイサーとして一般的に知られています) は、特定のルールに従って World Wide Web 上の情報を自動的にキャプチャするプログラムまたはスクリプトです。
私の経験によれば、Python クローラーを学習するには、次の点を学ぶ必要があります:
Python の基礎知識
Python での urllib および urllib2 ライブラリの使用方法
Python 正規表現
Python クローラー フレームワーク Scrapy
詳細Python クローラーの高度な機能
1. Python の基礎学習
まず、Python を使用してクローラーを作成する必要があります。高い建物が地面から立ち上がるとき、忘れてはなりません。基礎、ははは、それを共有します。友人は、私が見た Python チュートリアルを参考として使用できます。
1) MOOC Python チュートリアル
MOOC で基本的な文法を読んだことがありますが、学習後に演習として使用できます。内容は基本的に最も基本的なものです。これから始めたい場合は、これです
学習ウェブサイト: MOOC.com Python チュートリアル
2) Liao Xuefeng Python チュートリアル
その後、Liao 先生の Python チュートリアルを発見しました。とても分かりやすくて気持ちいいです。Pythonについて詳しく知りたい方はぜひご覧ください。
学習URL: Liao Xuefeng Python Tutorial
3) Concise Python Tutorial
もう一つ読んだのがConcise Python Tutorialですが、これもいいと思います
学習URL: Concise Python Tutorial
4) Wang Haiの実験室
これは私の学部の研究室の先輩です。私が始めたときに彼の記事を参考にし、その後自分で再要約したものです。
学習URL: Wang Hai's Laboratory
2. Python urllibおよびurllib2ライブラリの使用法
urllibおよびurllib2ライブラリは、Pythonクローラーを学習するための最も基本的なライブラリです。このライブラリを使用すると、Webページのコンテンツを取得し、正規表現の抽出と分析をコンテンツに使用して、必要な結果を取得します。学習プロセス中にこれを共有します。
3.Python 正規表現
Python 正規表現は、文字列の一致に使用される強力な武器です。その設計上の考え方は、記述言語を使用して文字列のルールを定義することです。ルールに準拠する文字列はすべて「一致」とみなされます。それ以外の場合、その文字列は不正です。これについては、後のブログ投稿で共有します。
4. クローラー フレームワーク Scrapy
あなたが Python マスターであり、クローラーの基本的な知識を習得している場合は、Python フレームワークを探してください。このフレームワークにはどのような強力な機能があるのでしょうか?公式の紹介は次のとおりです:
HTML、XML ソース データの選択と抽出の組み込みサポート
スパイダー間で共有される一連の再利用可能なフィルター (つまり、アイテム ローダー) を提供し、クロールされたデータのインテリジェントな処理を提供します 組み込みのサポートがあります。
フィードのエクスポートを通じて、複数の形式 (JSON、CSV、XML) および複数のストレージ バックエンド (FTP、S3、ローカル ファイル システム) の組み込みサポートを提供します
クロールされたデータ (またはその他のリソース) から画像を自動的にダウンロードできるメディア パイプラインを提供します)。
高い拡張性。シグナルと設計された API (ミドルウェア、拡張機能、パイプライン) を使用して、関数をカスタマイズおよび実装できます。
組み込みミドルウェアと拡張機能は、次の機能のサポートを提供します:
Cookie とセッション処理
HTTP 圧縮
HTTP 認証
HTTP キャッシュ
ユーザーエージェントシミュレーション
robots.txt
クロールの深さ制限
英語以外の言語の非標準または、間違ったエンコーディング宣言、自動検出、および堅牢なエンコーディングのサポートが提供されます。
テンプレートに基づいたクローラーの生成をサポートします。クローラーの作成を高速化しながら、大規模なプロジェクト間でコードの一貫性を保ちます。詳細については、genspider コマンドを参照してください。
複数のクローラでのパフォーマンス評価と障害検出のためのスケーラブルなステータス収集ツールを提供します。
XPath 式のテスト、クローラーの作成とデバッグに非常に便利な対話型のシェル ターミナルを提供します
運用環境での展開と運用を簡素化するシステム サービスを提供します
組み込みの Web サービスにより、システムの監視と制御が可能マシン
Telnet ターミナルが組み込まれており、Scrapy プロセスで Python ターミナルに接続することで、クローラーを表示およびデバッグできます
ロギングにより、クローリング プロセス中にエラーをキャッチするのに便利です
サイトマップ クロールをサポートしています
キャッシュされたDNSリゾルバー
以上がクローラーとは何ですか?クローラーの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。