------------ ------------復元コンテンツが始まります
みなさん、こんにちは、今回は私が少し忙しい、この新しいフレームワークを学ぶscrapy本研究の枠組みの中で、これらの日は、私は主に二つの部分に学ぶためにブログを更新する時間は、百度による最初のステップは、Scrapyフレームのエントリを検索しません知識は、第二段階は、他人の需要が行う方法を確認するためにgithubのプロジェクトを通じてscrapyを検索します。
最初のステップ:操作の原則scrapyフレームワークを習得します
これは私がインターネット上でクロール、概略図である、私の理解についての話ダウンしています。
クローラは、私たちは通常、同じWebページを訪問することを前提にページをクロールし、あなたが要求して戻り、結果を開始する必要があります。このような要求ページ、応答リターン結果をリクエスト
進歩の中核としてスパイダー(爬虫類)によるScrapy枠体、ItemPip(チャネル)の理解コンテンツが収集されるように定義されていることで、タスクスケジューリング、コンテンツの多くが含まれているウェブサイトは、あなたがより多くの爬虫類を作業する必要があることを、スケジューラ(スケジューラ)の理解、スケジューラは、調整する必要があります
ダウンローダがダウンロードされ、ツールが処理結果データとして理解することができます
ビジネスプロセスを実行しているのScrapyフレームワーク
- 次の把持に使用されるリンクスケジューラ(URL)から取られたエンジン
- URLリクエスト(要求)を送信ダウンローダにカプセル化エンジン
- リソースをダウンロードするダウンロード、および応答パケット(応答)としてパッケージ化
- 爬虫類の解決応答
- 更なる処理のため導管にエンティティ(アイテム)、エンティティを解析
- 解析されたリンク(URL)、クロールのためのスケジューラにURLを入れています
ステップ2:フレームワークScrapyをインストールします。
私の環境は次のとおりです。window10、python3.7、Anaconda3
ピップscrapyをインストール
インストール時には、多くの場合、インストールに失敗し、ネットワークをインストールし、インストールが完了したことを確認してください
コマンド構文:
scrapy startprojectのプロジェクト名の#は、従来のディレクトリ構造を生成するために、新しいプロジェクトを作成します
scrapy
list #查询爬虫列表
scrapyクロールクローラは名前#をクロールを開始します
これは私がディレクトリを作成したプロジェクトであります
これは、クモ爬虫類ディレクトリの下に別のビジネスに合わせてカスタマイズすることができます。
アイテムは、データ形式を確立するために収集することができます
データ処理パイプラインの永続化
settings.py出力データ形式の設定プロファイル
ステップ3:実践プロジェクト
学習の技術的なタイプについては、私は練習のためのより多くの敬意だ、練習は真実をテストするための唯一の基準です。
予備的研究では、まず、それを実践するために誰かを見つけることは容易で、難易度の高い見つけることではありません。
目標:データ収集中国のニュースサイト、記事のディレクトリは、JSON形式を保存します
プロジェクトが生成されました
最初のステップは:我々は、パイプラインの項目を定義する必要があります
私たちは、最初のパイプラインでそれを定義し、キャプチャ見出し、リンク、説明、リリース時に必要
ステップ2:書き込み爬虫類は、最初の爬虫類を作成します
まず良いコレクションへのネットワークパスを定義するには、右の書くことを覚えておいてください、追加しなければならないHTTPまたはHTTPS
リンク要求は、カテゴリのリストから外れている、あなたが見ることができます
解析方法は、データ取得に二次アクセスによって、見つけるためにカテゴリをリンクすることです
parse_feed方法が出てくる必要がありますセカンダリデータリンクへのアクセスを見つけることです
、我々は終わっ爬虫類場合でも、この
私は統計を見ては、データのJSON形式は非常に単純でエクスポートするだけで設定するには、それをクリックして、
JSONデータは、パイプラインを介してローカルファイルに保存されます
保存問題が発生するため、データが文字化けしている、我々は、出力形式を設定するとき、私はコマンドで、統計を見ていると、それをUTF-8であります
'scheduler/dequeued': 33,
'scheduler/dequeued/memory': 33,
'scheduler/enqueued': 33,
'scheduler/enqueued/memory': 33,
'start_time': datetime.datetime(2019, 11, 25, 3, 19, 0, 393647)}
2019-11-25 11:19:03 [scrapy.core.engine] INFO: Spider closed (finished)
D:\Python\Study\test_scrapy>scrapy crawl chinanews -o result.json -s FEED_EXPORT_ENCODING=utf-8
正常的数据结果是:
Scrapy爬虫就先学习到这到
我觉得学习任何东西都是一样,需要有一个老师,三人行必有我师,相互的学习交流,提升技术能力!
加油!