stMind

about Tech, Computer vision and Machine learning

ajaxなkindle highlightのページからハイライトを取得する

rubyでkindle highlightを抜き出すライブラリを参考にして、python
スクレイピングするスクリプトを書いてみました。

mechanizeとlxmlを使っています。
highlightのページは、複数の書籍でハイライトが保存されていると、書籍毎にハイライトを
動的ロードするようになっているので、次の書籍へのリンクを再帰的に辿りながら
タイトルと著者、ハイライトを取得していきます。

Amazonのログインのemailとpasswordをセットしてハイライトを取得すると、
書籍毎に著者とハイライトが取り出せます。(辞書型なので順番になってないですが)

#-*- coding:utf-8 -*-

from pit import Pit
from kindle.highlights import PyKindleHighlights

def main():
    config = Pit.get('amazon.co.jp', {'require': {'email': 'email', 'password': 'password'}})

    kindle = PyKindleHighlights(config['email'], config['password'])

    for k, v in kindle.books2highlights.items():
        print '[title] %s' % k
        print '[author] %s' % v['author']
        for text in v['text']:
            print text
    
if __name__ == '__main__':
    main()
$ python sample.py 
[title] すごい会社のすごい考え方
[author] 夏川 賀央
「過去の実績」を「自分の資産」にするわけではな
「結果」というのは、英語でいえば「result」。「成果」は「achievement
「成果の総体」が、その人独自の仕事を構築してい
私たちは日々の仕事を通して、確実に一歩一歩、自分ならではの成長を遂げていっているのです。それを独自の方法として、問題解決の手段にしたとき、はじめて「この人だから、こういうことができる」という独自の評価に繋がっていくのだと思います
[title] グーグル ネット覇者の真実
[author] スティーブン・レヴィ
基本的な考え方はデータから学ぶということ
[title] 統計学が最強の学問である
[author] 西内 啓
【問1】何かの要因が変化すれば利益は向上するのか? 【問2】そうした変化を起こすような行動は実際に可能なのか? 【問3】変化を起こす行動が可能だとしてそのコストは利益を上回るのか
「十分なデータ」をもとに「適切な比較」を行なう、という統計的因果推論の基

iOSのkindleアプリだと、何故か最後の一文字が欠けてしまうので変なところで文章が途切れてしまいますが、
自分のハイライトを取り出すことができました。

satojkovic/PyKindleHighlights · GitHub