「R」で「 Webスクレイピング」や「テキストマイニング」をやりたいあなたへの実践ガイドはこちらです

クローリング, スクレイピング, R, Crawling, Scraping R

質の高いデータがほしいけど、予算も時間も限られている

データは収集するだけでなく、分析して、再現可能な結果を導き、レポートにまとめたい

といった悩みをもつ方も多いのではないでしょうか。

 

 

Webからデータを収集(クローリング)して、必要な情報を抽出(スクレイピング)すれば、予算は少なく抑えられます。

また、統計解析のフリーソフト「R」を使ってプログラミングをすることで、収集や抽出を「自動化」し、その後のデータ分析や、レポートの作成も非常に便利に行うことができます。

 

 

というわけで、本記事では、Rを使ったデータの自動収集やスクレイピングを基礎からシッカリ学べる良書をご紹介します↓

本記事の概要

本書の構成は以下の通りです

第1部 Webとデータの技術入門

第1章 導入

1-1、ケーススタディ:危機にある世界遺産

1-2、Webのデータの品質について

1-3、Webデータを配信、抽出、そして保存する技術

1-4、本書の構成

第2章 HTML

2-1、ブラウザでの表示とソースコード

2-2、構文規則

2-3、タグおよび属性

2-4、構文解析

第3章 XMLとJSON

3-1、XMLドキュメントの具体例

3-2、XML構文規則

3-3、XMLドキュメントが正しく形成され、有効となるのはどのような場合か

3-4、XML拡張機能と技術

3-5、XMLとRの練習

3-6、JSONドキュメントの具体例

3-7、JSONの構文規則

3-8、JSONとRの練習

第4章 XPATH

4-1、XPath  Webドキュメント用のクエリ言語

4-2、XPathによるノードセットの識別

4-3、ノード要素の抽出

第5章 HTTP

5-1、HTTPの基本

5-2、HTTPの高度な技術

5-3、HTTP以外のプロトコル

5-4、HTTPプロトコルの実際

第6章 AJAX

6-1、JavaScript

6-2、XHR

6-3、Web開発者ツールでAJAXを調査する

第7章 SQLとリレーショナルデータベース

7-1、概要および用語

7-2、リレーショナルデータベース

7-3、SQL: データベースと会話するための言語

7-4、データベースの実践

第8章 正規表現と重要な文字列関数

8-1、正規表現

8-2、文字列処理

8-3、文字エンコーディング

第2部 Webスクレイピングとテキストマイニングのためのツールボックス

第9章 Webからのスクレイピング

9-1、収集のシナリオ

9-2、抽出方法

9-3、Webスクレイピング:グッドプラクティス

9-4、インスピレーションを与えてくれる価値ある情報源

第10章 統計的テキスト処理

10-1、例:英国政府のプレスリリースを分類する

10-2、テキストデータの処理

10-3、教師あり学習の手法

10-4、教師なし学習の手法

第11章 データ分析プロジェクトの管理

11-1、ファイルシステムの操作

11-2、複数のドキュメントやリンクの処理

11-3、スクレイピング処理の構築

11-4、Rスクリプトの定期実行

第3部 事例集

第12章 アメリカ上院議員間のコラボレーションネットワーク

12-1、法案に関する情報

12-2、上院議員の情報

12-3、ネットワーク構造の解析

12-4、結論

第13章 半構造化されたドキュメントから情報を抜き出す

13-1、FTPサーバからデータをダウンロードする

13-2、半構造化されたテキストデータをパースする

13-3、測候所と気温データの可視化

第14章 Twitterによる2014年度アカデミー賞予測

14-1、TwitterAPI:概要

14-2、Twitterベースでの2014年度アカデミー賞予測

14-3、結論

第15章 名字の地理的な分布のマッピング

15-1、データ収集戦略の構築

15-2、Webサイトの調査

15-3、データの検索と情報の抽出

15-4、名字のマッピング

15-5、プロセスの自動化

第16章 携帯電話のデータを集める

16-1、ページの探索

16-2、スクレイピングの実施手順

16-3、グラフィカル分析

16-4、データの蓄積

第17章 商品レビューのセンチメント分析

17-1、イントロダクション

17-2、データ収集

17-3、データの分析

17-4、結論

 

参考文献

訳者あとがき

事項索引

パッケージ索引

関連索引

となっています。

本書の内容は、以下のような感じです

本書は、統計解析のフリーソフト「R」による自動データ収集やスクレイピングに関する1冊です。

3部構成になっていて、第1部で Web にある情報についての基礎知識が丁寧に説明され、第2部では R によるクローリングやスクレイピングのやり方が解説されています。最後第3部では、r によるクローリングやスクレイピングの事例が6つ紹介されています。

 

副題にあるように、Webスクレイピングやテキストマイニングの活用を中心に書かれているのですが、そのために必要な基礎の基礎から説明がされているのが特徴の1つです。

たとえば、Webのスクレイピングをするには、Webについて知らなければなりませんが、その点について、HTML, XML, JSON, XPATH, HTTP, AJAX, SQL, 正規表現などのWebとデータに関する基礎知識を、第1部として徹底的に解説してくれます。

ここはRだけに特化しているわけでなく、多くが一般的な解説なので、R以外の言語を使ってクローリングやスクレイピングをしていたけど、うまくいかなかった方なども、一度参照してみると学びがあるのではないでしょうか。

この部分だけで半分の250ページほどに費やされていることからも、基礎知識をしっかり学べる1冊というのがわかっていただけるかと思います。

 

 

第2部からいよいよRによるWebスクレイピングの解説になります。

ここからはRのパッケージやRのコマンド、Rのプログラミングコードが随所に登場して、1つ1つのタスクの実行を解説してくれます。HTTP技術を中心に、lubcurl の使い方を示しながら、Webスクレイピングのシナリオを説明しています。

APIやOAuthの扱いや動的コンテンツのスクレイピングやSeleniumを使ったJavaScriptによる拡張されたページからのデータ収集なども学べます。

収集したデータは、readLines() や stringr パッケージ、XMLでは、xml Parse()や XPath などによるスクレイピング方法などが解説されています。

また、Webスクレイピングにおけるエチケットマニュアルが示されていて、有効なデータがあるか・APIインターフェースがあるか、背後にデータベースがあるか・robots.txt はあるか・そのページの利用を明確に禁じる利用規約があるか・といった場合の対処法が一覧にまとめられていてわかりやすいです。

その後、統計的テキスト処理のやり方についての解説があり、大規模なテキスト操作でのtmパッケージの活用や、TermDocumentMatrix()による単語文書行列の作成、数字や句読点の削除・ステミングなどのデータクレンジングなどがRコードとともに学べます。

そして教師あり学習としてサポートベクターマシンやランダムフォレスト、最大エントロピー法などがサクッと紹介されており、本書ではRTextToolsパッケージが紹介されています。教師なし学習では、階層的クラスタリングやLatent Dirichlet Allocation (LDA)の分析例が示されています。

 

 

第3部では事例集として、アメリカ上院議員間のコラボレーションネットワーク, 測候所と気温データの可視化, Twitterによる2014年度アカデミー賞予測, 名字の地理的な分布のマッピング, 携帯電話のデータを集める, 商品レビューのセンチメント分析などが挙げられており、実際の応用事例を肌で感じることができます。

 

全体を通して言えることは、Rによる自動データ収集というタイトルですが、かなり控えめに言っていても、実際はWebスクレイピングやテキストマイニングによる分析だけでなく、Webの基礎の基礎知識から具体的な応用事例まで、非常に情報量が豊富な良書です。Rを中心に書かれていますが、必ずしもRに依存しない情報も多々あり、他の言語で実装したい方の参考にもなるのではないでしょうか。

Rだけでなく、Webスクレイピングを包括的にシッカリ学びたいあなたには、辞書的な使い方もできるので、手元にあって損はない1冊となるはずです。

なぜ「R」を使うの?Rを使うメリットとは?

Rを使うメリットはたくさんあります。

たとえば、Rは「フリー」なので、誰でもいつでも無料で使うことができます。また、オープンソースなので中でどんな計算をしているのかを確認することができ、自分自身の勉強にもなります。そしてOSを選ぶこともないので、Windowsの方も、Macの方も、Linuxの方も、いずれも同じように使うことが可能です。

分析面では、非常に多くの手法がすでにプログラミングされており、利用者は数行のコマンドを打ち込むだけで高度な分析手法を手軽に再利用することができます。もちろん自分でオリジナルな手法をプログラミングすることも可能です。

得られた結果などをレポートにする際には、その見せ方も重要ですが、Rには「優れた可視化機能」があり、データや分析結果について訴求力の高い図を作成することができます。

このように、データ収集から分析・レポーティングの上流から下流まで1つのソフトで通してできるので、仕事もはかどるのではないでしょうか。

 

というわけで、今回は、Rによるデータのクローリングやスクレイピング、そしてテキストマイニングなどデータ分析も学べる、情報量豊富な本をご紹介しました。

 

 

 

こちらの記事もございます↓

「クローリング」や「スクレイピング」を学びたいあなたにチェックしてほしい良書、9冊+α はこちらです

 

統計解析フリーソフト「R」で統計学に入門する①

 

『「テキストマイニング」の記事まとめはこちらです

 

「多変量解析」の記事まとめはこちらです

 

統計解析フリーソフト「R」で、楽しみながら統計を学びたいあなた、こちらはいかがでしょうか【Rで楽しむ統計 (Wonderful R 1)】

 

「ロジスティック回帰分析」をサクッと実践したいあなたにおすすめの良書13冊はこちらです

 

「アンケート調査」をしたいあなたにチェックしてほしい良書、8冊はこちらです

 

「エクセル」で「データ分析」できるようになりたいあなたにチェックしてほしい良書10冊はこちらです

 

「ベクトル」を学びたい・復習したい方にチェックしてほしい良書、10冊はこちらです

 

『「C言語プログラミング」に入門したいあなたにおすすめの9冊、こちらはいかがでしょうか』