Personal tools
You are here: Home Lights on Zope 青空文庫で特定の著者のZipファイルのURLリストを得て、Kindle 用PDF変換の前準備をするpythonスクリプト
« December 2017 »
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
Python Anywhere seko 2016-11-19
帯状疱疹 seko 2016-11-18
Chromebook購入 seko 2016-11-03
マカロニさん めざせデータサイエンティスト seko 2016-11-02
脳波計muse 購入 seko 2016-09-04
フェルデンクライスメソッド227回目  seko 2016-08-27
EXCELマクロ タスクが残っていてTypeNameとShell.Applicationを使って起動済みのIEが探せない seko 2016-04-19
pythonでNITE 化学物質総合情報提供システムへアクセス seko 2016-04-19
Raspberry Pi 3で侵入者を発見 seko 2016-04-03
Raspberry Pi 3 OSのインストール seko 2016-04-02
Docker コンテナをexportするpythonスクリプト seko 2016-03-31
Effective Python ―Pythonプログラムを改良する59項目 seko 2016-03-30
確かな力が身につくPython「超」入門 鎌田 正浩 (著) seko 2016-03-29
pythonでバブルソート seko 2016-03-24
Recent trackbacks
スーパーコピー口コミ スーパーコピー口コミ 2017-12-08
ルイヴィトン偽物 ルイヴィトン偽物 2017-12-08
スーパーコピーブランド スーパーコピーブランド 2017-12-08
ロレックス偽物 ロレックス偽物 2017-12-08
スーパーコピー財布 スーパーコピー財布 2017-12-08
ルイヴィトン激安 ルイヴィトン激安 2017-12-08
ロレックス スーパーコピー ロレックス スーパーコピー 2017-12-08
ブランドスーパーコピー ブランドスーパーコピー 2017-12-08
エルメスバック偽物 エルメスバック偽物 2017-12-08
スーパーコピー代引き スーパーコピー代引き 2017-12-08
ブランドコピー ブランドコピー 2017-12-08
スーパーコピー代引き スーパーコピー代引き 2017-12-08
激安 ロレックス時計格安 激安 ロレックス時計格安 2017-12-08
ブランド時計コピー ブランド時計コピー 2017-12-08
 
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
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: