スクレイピング

PaaSを触り始めてから1番やってみたかったことと言えば、Webサイトのスクレイピング。
別に攻撃するつもりじゃ無くて、マッシュアップしたWeb上の情報を上手く可視化すれば、色んな考察が得られるんじゃないかと期待しているから。
そう思ったきっかけはKakeibonっていう無料で使える自動ネット家計簿を知ったから。(以前はOCN家計簿って名前だった)
このサイトは、銀行口座やクレジットカード、ECサイトなどの情報を引っ張ってきて収支をグラフにまとめてくれる。
銀行もクレジットカードも、それぞれのポータルサイトはAPIなんて公開していないので、おそらくスクレイピングで実現している。
既存の情報を上手く使うだけで色んなことが見えてくるんだなぁ、と感心した。

ということで、しばらくスクレイピングについて調べていたのである。ちょっと調べてみると、フロントでもサーバサイドでもできるし、色んな言語で実装できるので、どこから手を付けたらいいのかちょっと悩むレベルで選択肢が豊富。やるとしたらサーバサイドだけど、サーバサイドはどの言語が1番組み合わせやすいかちょっと自分の知見が足りてない。

こういうのは結構需要があるみたいで、スクレイピングするコードの共有や、スクレイピングしたデータをAPI化するサイトもあるみたい。

ScraperWiki

ScraperWikiはイギリスのスタートアップ企業で、スクレイパーコードを共有するサイトを提供しています。
開発者達はサイト上から直接コード(Ruby, PHP, Python)を編集、実行することができます。スクレイプを定期的に実行することも可能で、取得されたデータはScraperWikiに保存されますが、ScraperWikiはAPIを用意しているので、このAPIを通して、他のサイトでデータを再利用することが可能です。
「Wiki」といっているだけあって、一般公開されているコードは他の人も編集したり、またコードをコピーして他のスクレイピングに利用することもできます。定期的に実>行されているスクレイパーがエラーを起こしていないかをチェックする仕組みがあり「みんなでスクレイピングを管理」するための仕組みがいたるところにあります。
ScraperWikiは、もともとイギリスで、どの議員がどの法案に賛成または反対票を投じたかを議会のサイトから創業者の一人が2003年頃にスクレイプしたことを起源に持ちます。

スクレイピングするなら ScraperWiki 使うといいよ

kimono
指定したウェブサイトをスクレイピングしてAPI化してくれるサービス「kimono」

さて、地道に勉強するか。

関連記事

OpenCVの超解像(SuperResolution)モジュールを試す

pythonの機械学習ライブラリ『scikit-learn』

ニューラルネットワークで画像分類

iPhone・iPod touchで動作する知育ロボット『ROMO』

手を動かしながら学ぶデータマイニング

書籍『ゼロから作るDeep Learning』で自分なりに学ぶ

オープンソースの顔の動作解析ツールキット『OpenFace』

3分の動画でプログラミングを学習できるサイト『ドットインストール』

プログラムによる景観の自動生成

Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法

Unityの薄い本

OpenSfM:PythonのStructure from Motionライブラリ

IronPythonを使ってUnity上でPythonのコードを実行する

html5のcanvasの可能性

Super Resolution:OpenCVの超解像処理モジュール

Quartus II

WordPressのサーバ引っ越し方法を考える

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

UnityでOpenCVを使うには?

タマムシっぽい質感

Mechanizeで要認証Webサイトをスクレイピング

PythonのHTML・XMLパーサー『BeautifulSoup』

OpenCVのバージョン3が正式リリースされたぞ

OpenMVSのサンプルを動かしてみる

OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ

OpenMesh:オープンソースの3Dメッシュデータライブラリ

UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン

Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』

OpenCV 3.3.0-RCでsfmモジュールをビルド

スクラッチで既存のキャラクターを立体化したい

WordPress on Google App Engineを1週間運用してみて

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

OpenCVでiPhone6sのカメラをキャリブレーションする

Seleniumを使ったFXや株の自動取引

Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方

C++の抽象クラス

CycleGAN:ドメイン関係を学習した画像変換

Russian3DScannerのトポロジー転送ツール『WrapX』

Web経由でRaspberry PiのGPIOを操作したい

Math Inspector:科学計算向けビジュアルプログラミングツール

Webスクレイピングの勉強会に行ってきた

Google App Engine上のWordPressでAmazonJSを利用する

コメント