ブログ村のランキングポイントを単純にスクレイピングしてみた

ウェブから情報を収集する際には、簡単に使えるものですとRSSリーダーや
キーワードを登録すると向こうから情報が送られてくるような、
Googleアラートカメリオなんてサービスがあります。

もっとピンポイントで自分の欲しい情報を取ってくるにはどうすればいいか?

クローリング・スクレイピングという方法を使えば、
そういうことは出来ます。

まあ技術的なことになりますので、ある程度学ぶ必要はありますが。

実はそういうことを試そうと思ってこんな本を買っていた。

少しだけさわりをやってそのままだった。

そろそろ簡単なことでもやろうかと思って、
自分のブログ村のランキングポイントをスクレイピングしてみることにしました。

前にLinux標準コマンドだけで出来る仕事じゃないか?と思ってやってみたんですが、
ポイントの部分はどうやらjavascriptを解釈しなきゃいけないらしく、wgetやcurlコマンドを使うだけでは無理でした。

書籍を見るとPhantomJSというのを使えば、javascriptの解釈が出来るようです。

ということで、さっそくやってみた。

書籍ではPythonも使ってますが、自分としてはPhantomJSだけでも十分なことが出来るんじゃないかと思ったので、今回はPhantomJSだけで処理をしてみることにしました。

PhantomJSを使って色々試してみる

上記のExperiment #3を参考にこんな感じに一部を書き換えてみました。

// headlessブラウザを作成
var page = require('webpage').create();

//URLを開く
page.open('https://www.blogmura.com/point/01451148.html', function(status) {
  //ブラウザ内でJSを介してデータを取得  
  var pointTable = page.evaluate(function() {
    return document.getElementById('pointTable').innerText;
  });
  console.log('ポイントテーブル ' + pointTable);
  phantom.exit();
});

これをjsファイルとして保存しPhantomJSに読み込ませてみると

$ phantomjs pointTable.js
ポイントテーブル 今日	02/16	02/15	02/14	02/13	02/12	02/11	全参加数
総合ランキング(IN)	47109位	48399位	61922位	91483位	88933位	87463位	86714位	932904サイト
INポイント	0	20	0	10	0	0	0	30/週
OUTポイント	30	60	50	30	0	20	40	230/週
PVポイント	170	320	300	250	190	480	460	2170/週
その他日記	528位	562位	886位	1544位	1511位	1503位	1491位	25416サイト
フリーター日記	19位	17位	22位	37位	38位	37位	36位	448サイト
挑戦・チャレンジ	6位	6位	6位	7位	6位	5位	5位	157サイト

いいですね。ランキングポイント部分が取り出せました。
これが出来れば自分としては十分。

あとは好きな部分だけ抽出すればいい。

$ phantomjs pointTable.js | grep 'ポイント'
ポイントテーブル 今日	02/16	02/15	02/14	02/13	02/12	02/11	全参加数
INポイント	0	20	0	10	0	0	0	30/週
OUTポイント	30	60	50	30	0	20	40	230/週
PVポイント	190	320	300	250	190	480	460	2190/週

意外と単純な方法もあったんですね。
これで好きなデータを取り出すことが出来そうです。

ちなみに、スクレイピングツールというのもあるみたいです。
それを使えばコードを書いたりする必要もなさそうですね。

簡単にWEBからデータ抽出ができる!スクレイピングツールまとめ

 
スポンサーリンク

セコい本の読み方思いついたので少し試してみていた

最近、音声入力というものを使っているわけですが、
これを使えばもっと色々と得られるものがあるんじゃないかと思いついた。

本を自分で読み上げてしまう。

読み上げれば、話し方の練習が出来てしまうんじゃないか。

そしてこれによって本の内容そのものを残してしまう!
テキストデータ、そして音声として。

音声で残した場合。
耳で聞き直すことが可能。

通勤時や目が疲れている時にいいんじゃないか。

ということでさっそく試してみた。

ものによると思いますが、2ページ読み上げるだけで5分弱。
誤字の修正なんかしてたら、結構時間かかってしまいますな。

読み上げている時は声の録音もしておきますが、
自分の声を聞くのはキモいですな。

なら声を変えればいいじゃないか。

ということで探してみるとボイスチェンジャーアプリというものがあった。

スマホのやついくつか使ってみてクソ笑ってしまった。
もっとネタじゃなくて可愛い声にでも変更したいわ。

ということでほか探してみた。

これすごい。こういうのだといいかもしれない。
こういうのを使って自分の声で聞きたくないものを変換して聞くのはありかもしれない。

で、結局なんだけど。
本すべて読み上げるのはダルいという結論でおしまい。

OCRスキャンで内容をテキストデータにしたら、
テキストデータをロボット音声に変換することが出来るので、
そういうことを自動化出来たらいいでしょうね。

 
スポンサーリンク

最近の英語学習

最近自分がやっている英語学習を簡単に上げてみました。

リーディング

洋書

いま読んでいる本。
せっかく英語やってるんだし何か新しい洋書でも読んだらいいんじゃないかと思って買いました。

最近は読んだ本の内容をブログに書いたりしているんで、
これも読み終わったらまとめたいところ。

kindleとか電子書籍であれば、
洋書もいろいろ手に入るので良いですね。

英語の記事

poketやinstapaperを使い始めたら、英語に触れる機会が増えた
pocketやinstapaperのユーザー登録をして以降、ちょくちょく英語の記事を紹介したメールが飛んでくるようになった。タイ…

前にも書きましたが最近は英語の記事もよく読みます。

なかなか興味が沸く記事の紹介が毎日届いて来るので、
おかげで英語を読む機会は増えました。

リスニング

海外ドラマ

SUITSの次に観ているのは「私はラブ・リーガル」
なんか評価が高かったので見始めました。

これまた弁護士のお話で、つい覚えてしまった英語は
objection!(異議あり)と your honor(裁判官)ですな。

CNN10

その昔CNN Student newsと呼ばれてたものですね。
これはそのころから見続けてますね。

ネットでよく上げられてるので、
英語学習者には有名かも。

Fridays are awesome.

スピーキング

オンライン英会話

とりあえず日常英会話のレッスンをやっています。
カランメソッドは正直もうやってても無駄かな?とすら思ってしまったので、
今は普通のレッスンをすることにしました。

やっぱ毎日しゃべるのって大切ですね。
あとは続けてれば、ある程度当たり前のように話せるようになるのだろうか。

瞬間英作文

ENGLISH EX ようやく語法編に来た
普段「ENGLISH EX」という英語の参考書を使って瞬間英作文をしている。…

瞬間英作文もやってて思ったのは、
スピーキングにかなり役立つなということでしょうかね。

やってると退屈かもしれないですが、これずっと続けてると、
英語が割と瞬時に出てくるようになるので勉強法としてはオススメです。

ライティング

日記の翻訳

自分の日記の翻訳作業もちょこちょこやっています。

今日はどこどこに行ったとか普通の日記であれば割と簡単に翻訳出来たりしますけど、
自分の内省みたいなのは訳すのが結構難しいですね。

そういうのは飛ばしてしまうこともあるな。

今のとこライティングはこれぐらい。

ただ瞬間英作文もライティングの方にも効果がありますね。

そんな感じ

ということで最近はこんな感じです。

あとは、いろいろテストも受けないとね。

 
スポンサーリンク
1 2 3 4 98