Pythonでネット爬虫類第2版を書く

3206 ワード

コンテンツの概要
ベストセラーのPythonネットワーク爬虫類開発実戦図書の新アップグレード版は、前版の年間販売台数が40000冊近くに達した.
Python 3.6バージョンについて作成します.
インターネットには多くの有用なデータが含まれており、その大部分は無料で公開アクセスできる.しかし、これらのデータは使いにくく、Webサイトのアーキテクチャやスタイルに組み込まれており、抽出にも注意が必要です.ネットワーク爬取技術は、ネットワーク上の上海量情報を収集し理解する方法として、ますます有用になっている.
この本はPython 3.6の新しい特性を用いてネットワークデータを抽出するための入門ガイドです.この本では、静的Webサイトからデータを抽出する方法と、データベースとファイルキャッシュテクノロジーを使用してサーバの負荷を節約し、管理する方法について説明します.次に、ブラウザ、爬虫類、および同時爬虫類を使用して、より複雑な爬虫類を開発する方法について説明します.
PyQtとSeleniumを使用すると、JavaScriptに依存するWebサイトからデータをいつ取得するか、CAPTCHAによって保護されている複雑なWebサイトにフォームを送信する方法をよりよく理解する方法を決定できます.本書では、Pythonパッケージ(mechanizeなど)を使用して自動化処理を行う方法、Scrapyライブラリを使用してクラスベースの爬虫類を作成する方法、実際のサイトで学んだ爬虫技術をどのように実施するかについても説明します.
本書は最後に、爬虫類を使用してウェブサイトをテストし、遠隔爬虫類技術、画像処理、その他の関連テーマもカバーしています.
適読者:Python開発者、検索エンジン開発者
作者の紹介
Katharine Jarmul、ドイツのベルリンのデータ科学者とPythonの支持者.彼女はデータ科学コンサルティング会社Kjamistanを経営し、異なる規模の企業にデータ抽出、採集、モデリングなどのサービスを提供しています.彼女は2008年からPythonを使ってプログラミングを行い、2010年からPythonを使ってウェブサイトをつかみ、ネット爬虫類を使ってデータ分析や機械学習を行う異なる規模のベンチャー企業で働いたことがある.読者はTwitter(@kjam)で彼女の考えや動きに注目することができます.
Richard Lawsonはオーストラリア出身で、メルボルン大学コンピュータ科学専攻を卒業した.卒業後、ネット爬虫類に専念する会社を設立し、50カ国以上の業務に遠隔勤務を提供した.彼は世界語に精通し、中国語と韓国語を使って対話することができ、オープンソースソフトウェア事業に積極的に取り組んでいる.オックスフォード大学で大学院生の学位を取得し、余暇を利用して自主無人機を開発している.
本書の内容
前言
インターネットには、これまでで最も有用なデータセットが含まれており、ほとんどが無料で公開アクセスできます.しかし、これらのデータは多重化が困難である.Webサイトの構造やスタイルに埋め込まれており、抽出して使用する必要があります.Webページからデータを抽出するプロセスは、ネットワーク爬虫類とも呼ばれ、ますます多くの情報がネットワークに公開されるにつれて、ネットワーク爬虫類もますます役に立ちます.
本書で使用しているすべてのコードはPython 3.4+を使用してテストに合格し、 でダウンロードできます.
本書の内容
第1章では、ネット爬虫類の概要と、ネット爬虫類とは何か、サイトをどのように這うかを紹介します.
2章では,データキャプチャにより,いくつかのライブラリを用いてページからデータを抽出する方法を示した.
3章では,キャッシュをダウンロードし,キャッシュ結果によって重複ダウンロードの問題を回避する方法を紹介した.
第4章では、並行ダウンロードサイトを通じてデータのキャプチャを加速させる方法を教えます.
5章では,動的コンテンツについて,動的サイトからデータを抽出する方法をいくつか紹介した.
6章では,フォームインタラクションにより,入力やナビゲーションなどのフォームを用いて検索やログインを行う方法を示した.
7章では,検証コード処理により,検証コード画像保護されたデータへのアクセス方法について述べた.
8章では,Scrapyを用いた高速並列キャプチャの方法と,PortiaのWebインタフェースを用いたネットワーク爬虫類の構築について述べた.
第9章では、本書で学んだネット爬虫類の技術を総合的に応用してまとめます.
本書を読む前提
抽出例を説明するのに役立つように、http://example.python-scraping.comのウェブサイトの例を作成しました.このウェブサイトを生成するためのソースコードは、 から入手することができ、そのウェブサイトを独自に構築する方法の説明が含まれている.もしあなたが望むなら、自分で構築することもできます.
活発なWebサイトをキャプチャするのではなく、本書の例のためにカスタムWebサイトを構築することにしました.これにより、環境を完全に制御できます.この方法は、アクティブなWebサイトが本のカスタムWebサイトよりも頻繁に更新されるため、爬虫類の例を実行しようとすると、コードが動作しない可能性があります.さらに、カスタムWebサイトでは、特定のテクニックを説明し、他の干渉を回避するために、例をカスタマイズできます.最後に、活発なサイトは、ネットワーク爬虫類を学ぶ対象として使用することを歓迎していない可能性があり、爬虫類を閉鎖する可能性があります.私たちが自分でカスタマイズしたサイトを使用すると、これらのリスクを回避できますが、これらの例で学んだテクニックは、これらの活発なサイトにも適用できます.
本書の読者
本書は、プログラミングの経験があると仮定し、基礎のない初心者には向いていない可能性が高い.本書のネット爬虫類の例では、Python言語とpipインストールモジュールを使用する能力が必要です.これらの知識を復習したい場合は、Dive Into Pythonという本があり、著者はMark Pilgrimで、読者はネットで検索して読むことができます.この本も私がPythonを初めて学んだときに使った資源です.
また、これらの例では、WebページがHTMLを使用して構築され、JavaScriptで更新される方法についても理解していると仮定します.HTTP、CSS、AJAX、WebKit、Redisについての既存知識も役に立ちますが、それらは必須ではありません.これらの技術は必要に応じて紹介します.
第1章ネットワーク爬虫類の概要
第2章データキャプチャ
第3章ダウンロードキャッシュ
第4章同時ダウンロード
第5章ダイナミックコンテンツ
第6章フォームインタラクション
第7章検証コード処理
第8章Scrapy
第9章総合応用
全文を読む:http://gitbook.cn/gitchat/geekbook/5bd683988b3f803a63ef9f98