مكتبة بيثون لاستخراج معلومات "epub" [مغلقة
سؤال
أحاول إنشاء تحميل EPUB إلى iBook في Python. أحتاج إلى Python lib لاستخراج معلومات الكتاب. قبل تنفيذ هذا بنفسي ، أتساءل عما إذا كان أي شخص يعرف بالفعل python lib يفعل ذلك.
المحلول
ملف .epub هو ملف مشفر من zip يحتوي على دليل meta-Inf ، والذي يحتوي على ملف يسمى Container.xml ، والذي يشير إلى ملف آخر عادة ما يسمى content.opf ، والذي يفهرس جميع الملفات الأخرى التي تشكل الكتاب الإلكتروني (ملخص بناء على http://www.jedisaber.com/ebooks/tutorial.asp ؛ المواصفات الكاملة في http://www.idpf.org/2007/opf/opf2.0/download/ )
سيقوم رمز Python التالي باستخلاص المعلومات الوصفية الأساسية من ملف .epub وإعادته كدليل.
import zipfile
from lxml import etree
def get_epub_info(fname):
ns = {
'n':'urn:oasis:names:tc:opendocument:xmlns:container',
'pkg':'http://www.idpf.org/2007/opf',
'dc':'http://purl.org/dc/elements/1.1/'
}
# prepare to read from the .epub file
zip = zipfile.ZipFile(fname)
# find the contents metafile
txt = zip.read('META-INF/container.xml')
tree = etree.fromstring(txt)
cfname = tree.xpath('n:rootfiles/n:rootfile/@full-path',namespaces=ns)[0]
# grab the metadata block from the contents metafile
cf = zip.read(cfname)
tree = etree.fromstring(cf)
p = tree.xpath('/pkg:package/pkg:metadata',namespaces=ns)[0]
# repackage the data
res = {}
for s in ['title','language','creator','date','identifier']:
res[s] = p.xpath('dc:%s/text()'%(s),namespaces=ns)[0]
return res
إخراج العينة:
{
'date': '2009-12-26T17:03:31',
'identifier': '25f96ff0-7004-4bb0-b1f2-d511ca4b2756',
'creator': 'John Grisham',
'language': 'UND',
'title': 'Ford County'
}
نصائح أخرى
شيء مثل أدوات epub, ، فمثلا؟ لكن هذا في الغالب جاري الكتابة epub
التنسيق (من مختلف المصادر المحتملة) ، كما هو epubtools (تهجئة مماثلة ، مشروع مختلف). إلى عن على قراءة هذا ، سأحاول مشروع الرفيق threepress, ، تطبيق Django لعرض كتب Epub على متصفح-لم ينظر إلى هذا الرمز ، لكنني أتخيل أنه من أجل إظهار الكتاب ، يجب أن يكون بالتأكيد قادرًا أولاً على قراءته ؛-).
تفحص ال وحدة EPUB. يبدو وكأنه خيار سهل.
لقد انتهيت من هنا بعد البحث عن شيء مشابه واستلهمه مقتطفات كود السيد بوثويل لبدء مشروعي الخاص. إذا كان أي شخص مهتمًا ... http://epubzilla.odeegan.com/