Personal tools
You are here: Home Lights on Zope
« December 2009 »
Su Mo Tu We Th Fr Sa
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Recent entries
評価経済社会 ぼくらは世界の変わり目に立ち会っている 岡田 斗司夫 (著) seko 2012-05-13
史上最強の哲学入門 東洋の哲人たち 飲茶 (著) seko 2012-05-12
史上最強の哲学入門 飲茶 (著) seko 2012-05-12
製造業が日本を滅ぼす 野口 悠紀雄 (著) seko 2012-05-10
サニーサイドエッグ 荻原 浩【著】 seko 2012-05-03
強運の持ち主 瀬尾 まいこ【著】 seko 2012-05-03
カラーひよことコーヒー豆 小川 洋子【著】 seko 2012-05-03
「長生き」が地球を滅ぼす―現代人の時間とエネルギー 本川 達雄【著】 seko 2012-05-02
日本全国津々うりゃうりゃ [単行本] 宮田 珠己 (著) seko 2012-05-02
遺伝子はダメなあなたを愛してる [単行本] 福岡伸一 (著) seko 2012-05-02
哲学的な何か、あと数学とか 飲茶【著】 seko 2012-05-01
哲学的な何か、あと科学とか 飲茶【著】 seko 2012-05-01
宇宙に外側はあるか 松原 隆彦【著】 seko 2012-05-01
世渡り 万(よろづ)の智慧袋―江戸のビジネス書が教える仕事の基本 田中 優子【著】 seko 2012-04-29
Recent comments
Re:フェルデンクライスメソッド112回目 おててニギニギ3 seko 2012-04-07
Re:フェルデンクライスメソッド112回目 おててニギニギ3 Papasan 2012-04-07
Re:ブッダのいる女子会 Reiko 2012-03-25
おしらせと追加 やぶい 2012-03-23
Re:上島珈琲閉店 えくぼの姉さんにもう会えない Papasan 2012-03-22
Re:上島珈琲閉店 えくぼの姉さんにもう会えない seko 2012-03-22
Re:上島珈琲閉店 えくぼの姉さんにもう会えない Papasan 2012-03-21
Re:上島珈琲閉店 えくぼの姉さんにもう会えない seko 2012-03-21
Re:上島珈琲閉店 えくぼの姉さんにもう会えない Papasan 2012-03-20
Re:荒俣 宏 (著) 「歌枕」謎ときの旅 通りすがり 2012-02-11
Re:http://papasan.mydns.jp/ の飛び先がマシンによって異なる seko 2012-02-11
Re:http://papasan.mydns.jp/ の飛び先がマシンによって異なる Papasan 2012-02-10
Re:フェルデンクライスメソッド 107回目 アスリートの脚になる seko 2012-01-29
Re:フェルデンクライスメソッド 107回目 アスリートの脚になる Reiko 2012-01-29
Recent trackbacks
ぼくはお金を使わずに生きることにした 紹介 感想 わかめになりたい 2011-12-02
au の HTC EVO がなかなか良かった話 tdtshのブログ 2011-05-25
逆転経済の反響 世界一のバイヤーになってみろ!!坂口孝則の本棚と雑文 2010-12-27
Who Moved My Cheese? 大学生の気ままな書評 おすすめ和書・洋書! 2010-10-30
sekoさんちからPOSTがあったけど・・・ PapaBlog 2010-09-12
Squid(キャッシュサーバーモード)を試してみる PapaBlog 2010-08-25
Apache 2.2のキャッシュ機能を使ってみる PapaBlog 2010-08-08
愛と資本主義 中村うさぎ ばみの乱読日記 と猫雑貨。 2010-08-07
自転車用鞄(かばん)通販 鞄専門【かばん通販】 2010-06-09
Flowplayerがバージョンアップしてスッキリしていた PapaBlog 2010-06-06
荻原規子 「レッドデータガール はじめてのお化粧」 ゼロから 2010-06-01
加納朋子「モノレールねこ」 ご本といえばblog 2010-04-29
武蔵境でWiMAX電波を追ってみる においの事件簿 2010-04-19
荻原規子 「レッドデータガール はじめてのお使い」 ゼロから 2010-04-18
 
Document Actions

青空文庫で特定の著者のZipファイルのURLリストを得て、Kindle 用PDF変換の前準備をするpythonスクリプト

by seko posted at 2009-12-07 18:54 last modified 2009-12-07 19:09

昨日は、青空キンドル(仮)のサイト を使わせていただいて、岡本綺堂の半七捕物帖の第一話である「お文の魂」をPDFに変換し、Kindleで読んでみました。

でも、岡本綺堂の作品 は226個もあります。

ここは著者を選べば、その作品すべてがPDF化されて、Kindleに転送されるのがよいなと思います。

次のような手順になるでしょうか。

  • 著者のURLから、すべての図書カードのリストを作る
  • 図書カードのリストからzipファイルのurlリストを得る
  • 青空キンドル(仮)のサイト にzipのURLを渡して、PDFをダウンロードする(やったことないです)
  • 著者の名前や書名をローマ字に変換して、PDFのファイル名を著者+書名に変更する(できるんでしょうか?)
  • KindleのdocumentsフォルダーにPDFを転送して、完了したらデバイスを取り外す

とりあえず、一番目と二番目を行うpythonスクリプトを書いてみました。プログラムを書くのは一年ぶりのような気がします。

    # -*- encoding: utf-8 -*-
    #-------------------------------------------------------------------------------
    # Name:        aozoralst.py
    # Purpose:     青空文庫で著者のURLを指定すると、公開されている図書カードを見つけ
    #       て、zipファイルのリストを得る
    # Author:      seko
    #
    # Created:     07/12/2009
    # Copyright:   (c) seko 2009
    # Licence:     ご自由に
    #-------------------------------------------------------------------------------
    #!/usr/bin/env python

    import urllib2
    import re
    import urlparse

    def get_booklist(url):
        """
        青空文庫の著者のURLを指定して、図書カードのURLのリストを得る
        """
        booklist=[]
        for line in urllib2.urlopen(url):
            s = unicode(line, 'euc-jp')
            m=re.search('a href="(\S*cards/\S*.html)',s)
            try:
                booklist.append (m.group(1))
            except:
                pass
        book_url=[]
        for book in booklist:
            book_url.append ( urlparse.urljoin (url,book))
        return book_url

    def get_zip_url(url):
        """
        図書カードからzipファイルのURLを得る。複数個の場合あり(ルビの有無など)
        """
        ziplist=[]
        for line in urllib2.urlopen(url):
            s = unicode(line, 'euc-jp')
            m=re.search('a href="(\S*.zip)"',s)
            try:
                ziplist.append(urlparse.urljoin(url, (m.group(1))))
            except:
                pass
        return ziplist

    ### main ###

    #岡本綺堂のページ
    url="http://www.aozora.gr.jp/index_pages/person82.html"

    for book in get_booklist(url):
        print book

    #get_zip_url("http://www.aozora.gr.jp/cards/000082/card49564.html")
    for book in get_booklist(url):
        for zip in get_zip_url(book):
            print zip

結果

図書カードのリスト :

 http://www.aozora.gr.jp/cards/000082/card49564.html
 http://www.aozora.gr.jp/cards/000082/card45478.html
 http://www.aozora.gr.jp/cards/000082/card45500.html
 http://www.aozora.gr.jp/cards/000082/card43042.html
 http://www.aozora.gr.jp/cards/000082/card49562.html

zipのリスト :

 http://www.aozora.gr.jp/cards/000082/files/49564_ruby_33587.zip
 http://www.aozora.gr.jp/cards/000082/files/45478_ruby_24508.zip
 http://www.aozora.gr.jp/cards/000082/files/45500_ruby_23134.zip
 http://www.aozora.gr.jp/cards/000082/files/43042_ruby_16085.zip
 http://www.aozora.gr.jp/cards/000082/files/49562_ruby_33588.zip
 http://www.aozora.gr.jp/cards/000082/files/49561_ruby_33578.zip

The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/2148/tbping

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: