膨大なWebの世界からデータを収集する技術、クローリング&スクレイピング

膨大なWebの世界からデータを収集する技術、クローリング&スクレイピング

データ分析を行う上で(当たり前のお話ですが)インプットとなるデータは非常に大事です。

一方で、

・分析したくてもデータがない!

・アンケート調査はコストがかかる!

・いちいちデータを手で入力するのは面倒だ!

・・・など、いろいろな事情でインプットデータが手元にない状況も大いにあり得ます。

 

そんな時、クローリング&スクレイピング技術を知っておくと非常に役立つことがあります。

※ちなみに・・・

クローリングとは、ロボット型検索エンジンにおいて、プログラムがインターネット上のリンクを辿ってWebサイトを巡回し、Webページ上の情報を複製・保存することである。

スクレイピング(Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブ・クローラー(Web crawler) あるいはウェブ・スパイダー(Web spider)とも呼ばれる。

 

例えば

(A)あるブロガーのブログ情報を過去から全て抽出することで、その人がどんな趣向なのか?どんな話題が多いか分析したい!

http://qiita.com/ya_s_u/items/c4f027df9be34fad8be5

 

(B)あるサイトから、商品や人物(キャラクター)、店舗リストなどのデータを一覧で抽出したい!

http://qiita.com/greymd/items/368faf898c161165fee7

https://github.com/YukiSakamoto/Starbucks_Japan

 

(C)商品の価格変動状況を監視して、価格変動トレンドデータを抽出したい!

http://wisdomtrees.net/?p=186

 

・・などなど、色々な目的でクローリング/スクレイピングは有益な技術です。

 

また、こういったスクレイピングをビジネスとしている海外企業もいくつか見られるようです。

http://blogs.itmedia.co.jp/serial/2014/05/post-9adb.html

 

具体的なクローリング、スクレイピングの技術については、既に紹介したサイトの中でも記載がありますが、最近では特にPythonのscrapyというライブラリを用いる方法が便利なようです。

■Pythonによるクローリング、スクレイピングについて

http://orangain.hatenablog.com/entry/scrapy1.0

http://investor.hateblo.jp/entry/2015/05/08/143547

 

実際にクローリング、スクレイピングを行う場合は、色々な問題があることを留意した上で実施されることをオススメいたします!