スクレイピング

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」

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


スポンサーリンク

関連記事

Manim:Pythonで使える数学アニメーションライブラリ
ZScript
OpenCV 3.1のsfmモジュールを試す
OpenCVの超解像(SuperResolution)モジュールを試す
Amazon Web ServicesでWordPress
Raspberry Pi
UnityのGameObjectの向きをScriptで制御する
Managing Software Requirements: A Unified Approach
iOSデバイスのためのフィジカル・コンピューティングツールキット『konashi(こなし)』
動的なメモリの扱い
Unityの薄い本
今年もSSII
第1回 3D勉強会@関東『SLAMチュートリアル大会』
UnityのAR FoundationでARKit 3
Accord.NET Framework:C#で使える機械学習ライブラリ
ドットインストールのWordPress入門レッスン
ブログのデザイン変えました
Deep Fluids:流体シミュレーションをディープラーニングで近似する
OpenGVの用語
hloc:SuperGlueで精度を向上させたSfM実装
ZBrushのZScript入門
SVM (Support Vector Machine)
Twitter APIのPythonラッパー『python-twitter』
PythonでBlenderのAdd-on開発
DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...
OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる
OpenCVで平均顔を作るチュートリアル
BlenderのPython環境にPyTorchをインストールする
Super Resolution:OpenCVの超解像処理モジュール
OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ
libigl:軽量なジオメトリ処理ライブラリ
OpenCVで動画の手ぶれ補正
TorchStudio:PyTorchのための統合開発環境とエコシステム
UnityプロジェクトをGitHubで管理する
UnityからROSを利用できる『ROS#』
Model View Controller
C++の抽象クラス
Unityの各コンポーネント間でのやり取り
C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』
Google Chromecast
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
プログラミングスキルとは何か?

コメント