pythonクローリングスクレイピング感想とメモ(実践編)。pythonクローリングスクレイピング感想とメモ(実践編)。ライブラリ活用など2018-10-31pythonクローリングスクレイピング感想とメモ(実践編)。ライブラリ活用などPythonpythonクローリング&スクレイピング感想とメモ(実践編)です。ライブラリ活用などを中心に書いていきます。第3章「強力なライブラリの活用」についてです。※Node.jsにおけるnpmのようなものライブラリのインストールにはpipが良い※easy_installはアンインストールが出来ないなどの弱点があるため、使われていないスクレイピングに使うライブラリとしてはCSSセレクターを学習するのが良いようです。XPath:細かな条件を指定可能(複雑)CSSセレクター:細かな指定は出来ない。SoupなどのサードパーティではXPathをサポートしていないことを考えると、余計にCSSセレクターを勉強するほうが良さそうです。selectorでOK。XPathDBへの保存DBへの保存では、MySQLへの保存、MongoDBへの保存が紹介されています。MongoDBとはNoSQLの一種です。ドキュメント型オープンソース1つのDBは複数のコレクションを持つ1つのコレクションは複数のドキュメントを持つドキュメントはBSON(JSONのバイナリ版形式)で扱われるDBへの書き込み速度が早いちなみにDB格納時には、プライマリーキーはサロゲートキー(自動生成されるキー)を使うほうが良い。※URLは変更しうる(リダイレクトなどされるる)クローラーの作成クローラーの作成ですサンプルが本に載っているので、それを見ればOK(コレが本当に役立ちますね...)基本的には対象ページの構造を事前に知っておくデータを取得する空白文字を消したり整形するDBに格納するという流れ。第4章は「実用のためのメソッド」です。状態を持つ(ステートフル)なクローラーを作る場合は、HTTP上で状態を保持する必要があります。Requestsで、Sessionオブジェクトを使うHTTPヘッダにRefererを使う。1つ前に閲覧したページのURLをサーバーに送るJavaScriptを解釈する場合JavaScriptを解釈する場合には、Seleniumというプログラムからブラウザを自動操縦するツールを使うのが良いです。ヘッドレスブラウザーも操作可能です(GUI、画面がないブラウザ)。代表的なヘッドレスブラウザーはPhantomJSです。迷惑をかけないクローラーを作りましょう、というお話。クローラー作成者が知っておくべき法律は3つあります。公衆送信権:収集したWebページをサーバーから公開する権利これらの法律を侵さないようにしましょう。クロール先に負荷をかける事で、業務妨害になることを避けるように。逮捕されました基本的にはクロールの感覚は1秒以上開けることHTTPステータスコードが408,500,502,503,504エラーの場合は、指数関数的にリトライすること(1秒、2秒、4秒、8秒...)が大事です。第5章は「実践とデータ活用」です。Wikipediaのデータセットを扱うWikipediaのデータセットダウンロードに関しては、以下からダウンロード可能。Latest(最新)から落とすのが良いでしょう。/jawiki/Wikiの中は見れば分かるのですが、XMLファイルです。PythonのWikiextractorというライブラリを使って読み込みのが良いでしょう。empty自然減処理技術(MeCab)を使う自然減処理技術(MeCab)を使う話もありました。書籍ではMacやUnix用の方法が載っています。私はWindows環境で構築しているので、こちらのサイトを参考にしました。Windows)Web上の新しい単語を取り込むためには、最新のデータセットを扱うようにしましょう。ここのリンクに色々あります。mecab-ipadicWebサービスからデータを取得する方法Webサービスからデータを取得する方法については、各サービスごとのAPIを使う必要があります。API)その他、時系列情報を取得する方法などもありましたが、割愛します。オススメライブラリオススメライブラリまとめスクレイピング、クローリング関係のライブラリRequests:人間のためのHTTPというキャッチフレーズの使いやすいライブラリ。OPTIONS相応のものが使える。HTTPヘッダの追加、Basic認証も可能。HTTPKeep-Aliveも可能lxml:C言語のXML処理ライブラリ(libml2,libxslt)のpythonバインディング。C言語拡張であるため、他のライブラリより軽いのが特徴(高速処理可能)。Soup:シンプルにデータを取り出せる。Connector/Python:PyMySQLその他のライブラリその他のライブラリで使えそうなものをまとめました。Voluptuous:スキーマ(ルールの集合)を簡単に定義できるクローリングとスクレイピングの概要を知れて良い本です、本当。11:35関連記事2019-07-03技術書の書評・感想まとめ。初心者エンジニアにオススメの技術書一覧です。Rails5」を気合で一気にやってみました。―データ収集・解析のた...2018-10-24Windows10環境でPython開発環境を構築しHelloWorld表示するまでの方法まとめWindows10環境でPython開発環境を構築する方法です。はてなブログProフリーランスエンジニア&ブロガーのアルパカです。技術とエンタメが好き。(17)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。