EPUBファイル作成と読み取りのためのオープンソースPythonライブラリ

無料のPython電子書籍ライブラリは、ソフトウェア開発者がWebサイト、HTMLファイル、文字列からEPUBファイルを読み取り・作成できるようにします。

Pypubは、非常に強力なオープンソースの純粋なPythonライブラリで、ソフトウェア開発者が最小限の依存関係で、ウェブサイト、HTMLファイル、Pythonアプリ内の文字列からEPUBファイルを作成できるようにします。EPUBは便利な電子書籍ファイル形式で、出版社やユーザーに世界中で広く利用されています。このライブラリはMITライセンスの下で提供されており、ユーザーはプロジェクト内で自由に使用することが許可されています。

Pypubライブラリは非常にシンプルに扱えるため、ユーザーはEPUB仕様の複雑さを気にせずに迅速にEPUBファイルを生成できます。ライブラリがサポートする優れた機能の一つは、生成されたEPUBを簡単にAmazon Kindleのmobiまたはazw3ファイルに変換できることです。ライブラリには、ウェブサイトからEPUBファイルを作成する、EPUB仕様を抽象化する、複雑なHTMLコードをクリーンアップする、HTMLファイルからEPUBファイルを作成する、文字列からEPUBファイルを作成する、完全にカスタマイズ可能であるなど、さまざまな重要な機能が含まれています。

Previous Next

Pypub の入門

Pypub は pip で入手可能です。簡単にダウンロードしてマシンにインストールできます。スムーズなインストールのために以下のコマンドを使用してください。

pip で Pypub をインストールする

$ pip install pypub

コンパイル済みの共有ライブラリは Github リポジトリからダウンロードできます。

Python で EPUB ドキュメントを作成する

オープンソースの Pypub ライブラリは、ソフトウェアプログラマが最小限の依存関係で数行のコードだけで EPUB ファイルを作成できるようにします。このライブラリは、ウェブサイトや HTML ファイル、Python アプリケーション内の文字列から EPUB ファイルを作成するなど、さまざまな方法を提供しています。ウェブページから EPUB を作成するには、そのページの完全な URL を指定するだけです。

Python ライブラリでオンライン EPUB ファイルを作成する


import pypub
my_first_epub = pypub.Epub('My First Epub')
my_first_chapter = pypub.create_chapter_from_url('https://en.wikipedia.org/wiki/EPUB')
my_first_epub.add_chapter(my_first_chapter)
my_first_epub.create_epub('OUTPUT_DIRECTORY')
 

Python API を使用して Reddit ストーリーから EPUB を作成する

Pypub ライブラリは、Python アプリケーション内で Reddit のストーリーから EPUB ファイルを生成する機能をソフトウェア開発者に提供します。このタスクを実現するには、Reddit の API にアクセスするために python パッケージ praw を使用する必要があります。まず、r/TrueReddit セクションから上位 10 件のストーリーの URL を取得します。URL 文字列のリストを取得したら、Pypub ライブラリを使用してコンテンツをダウンロードし、ストーリーから EPUB を作成できます。作成する Ebook のタイトルを指定するだけで、上位ストーリーの EPUB が生成されます。

Python API を使用して既存の EPUB ドキュメントを読む方法は?

import Pypub
import praw, os

praw_object = praw.Reddit(user_agent='pypub/1.0')
top_submission_list = praw_object.get_subreddit('TrueReddit').get_top(limit=10)
top_submission_url_list = [submission.url for submission in top_submission_list]
epub = pypub.Epub('TrueReddit - Top Stories')
for url in top_submission_url_list:
    try:
        c = pypub.create_chapter_from_url(url)
        epub.add_chapter(c)
    except ValueError:
        pass
 epub.create_epub(os.getcwd())
 
 日本