BLOG

JavaScriptスクレイピング

2015/2/8


WebスクレイピングとはWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことです。
もちろんサーバに過剰にコールして負荷をかけたり、ページをまるごとコピーして、コピーサイトを作ることはよくありません。
PHPでもJavaでもスクレイピング用ライブラリは用意されていますが今回はJavaScriptスクレイピング、クライアントサイドのみで試してみました。
jQueryを使ってajaxでDOMを非同期で作成しています。

問題点としては
クロスドメインでのAjaxでは、セキュリティ上クロスドメインでは通信できない制約があります。
回避方法は
・’Access-Control-Allow-Origin’ヘッダを付与する。
・JSONPで行う。
jquery.xdomainajax.jsを使用する。
です。
クライアントサイドだけで解決するならjquery.xdomainajax.jsを使うしかなさそうです。
またクライアントサイドスクレイピングはクライアントサイドに負荷がかかりすぎるかなと思います。

PHPスクレイピング用ライブラリは
Goutte
Simple HTML DOM Parser
等があり試してみたいなと思いました。

またWebスクレイピングしてWebサービスを作る場合、他サーバへのコールやコンテンツの再利用をどこまでやっていいのか気になりました。規約面、法律面を明確に理解したです。

Tag:

SEARCH

BLOG