最終更新日時2013-07-07
■目次
■本文
スクレイピング(scraping)とは
Webページから、利用者が必要としている情報を選択的に収集する技術です。スクレイピング(scraping)とは削ることの意味ですが、先の例で言えば株価を掲載しているWebページからレイアウトや色と言った付随的な情報を削り取り、必要な文字(数値)情報だけを取り出します。
スクレイピングの他の呼び方
- スパイダリング(web Spidering)
- WEBデータマイニング(Web Data Mining)
- Web Harvesting←日本ではあまり使わない。らしい。
スクレイピングの使用例
- yahooファイナンスから、社名とファンダメンタルを1000社分抜きだして一覧表にしたいとき。
→ただし、こういった株の相場を扱うパターンは、色々なサイトがあり、本も出ている。まさにこれをしたいならば、本買うのが一番早い。
例として2冊のリンクだけ貼っておく。
スクレイピングを始める前に必ず知っておきたいこと
逮捕されてしまうことがある
実際の事件:岡崎図書館事件(librahack事件)
サイトにアクセスできなくなることがある
サイトの利用規約をよく読みましょう。スクレイピングが禁止されている場合や、制限が設けられている場合も多々あります。サイトの利用規約を読まずに、プログラムでアクセスすると、ブラウザからでさえサイトにアクセスできなることがあります。
実際の体験:googleが使えなくなりそうになりました。
スクレイピングの文字列指定方法
プログラム言語×文字列の指定方法(正規表現、XPATH、CSSセレクタ)
|
正規表現 |
XPATH |
CSSセレクタ |
その他 |
RUBY |
|
|
|
|
java |
|
|
|
|
javascript |
|
|
|
|
動かすのは、色々なプログラム言語のうち一つを選べばよい。
しかし、文字列の指定方法は、複数を組み合わせた方が、より正確なスクレイピングができる。
例えば、正規表現だけを使うよりも、正規表現とXPATHの両方を使ったほうが、より正確にスクレイピングできる。
つまり、最低限のスクレイピングをする上では、
プログラム言語一つと、文字列の指定方法1つの計2つの考え方を学べばよいが、
より正確なスクレイピングをするためには、それに加えて文字列の指定方法を複数学ぶ必要がある。
XPATH
XPATHを取得する方法
正規表現
正規表現だけで本がかけてしまうので、使いかたの詳細は本を。
関連リンク
CSSセレクタ
不明。
スクレイピングのやり方(言語別)
対象となるサイトに以下のポイントがひとつ含まれているごとに難易度はあがる。
- cookieを使う
- ログインが必要
- XMLではなく、ただのHTML
上記3点とも満たしていて、あなたがド素人なら即外注した方がいいと思う。
以下、すでに何かの言語が扱える人向けに言語別のスクレイピング方法。
初心者でも時間がありあまっている人もどうぞ。
■PERLによるスクレイピング
■RUBYによるスクレイピング
■PHPによるスクレイピング
■javascript(jscript)によるスクレイピング
■pythonによるスクレイピング
■VB、VBAによるスクレイピング
対象となるサイトがXMLなら簡単にできる。
HTMLなら苦労するので、他の言語に切り替えたほうがいいと思う。
(VBAで、HTMLを対象としてXPATHを使うには、結局、javascriptもある程度理解している必要があるので。)
他のページに詳細あり - エクセルWEB連携
■Haskellによるスクレイピング
ScalaによるWebスクレイピング
その他、未精査
Yahoo! Pipes
Dapper
Junar
IDE「Web-Harvest」
ScraperWiki
WebView(Androidのwebブラウザコンポーネント)
Groovy
その他
ページフッタ
このページの1階層上のページ
このページの1階層下のページ
このページに含まれるタグ
このページへのアクセス数
今日: -
昨日: -
これまで合計: -
最終更新:2013年07月07日 06:45