我正嘗試在python中爲iBook創建epub上傳器。我需要一個python庫來提取圖書信息。在我自己實現這個之前,我想知道是否有人知道一個已經做好的python lib。提取'epub'信息的Python庫
回答
一個.epub文件是包含META-INF目錄,其中包含一個名爲container.xml中的文件,它指向通常命名爲Content.opf另一個文件,它索引的所有其他文件,這構成了一個zip編碼文件電子書(摘要基於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-tools,例如?但這主要是寫作epub
格式(來自各種可能的來源),如epubtools(類似的拼寫,不同的項目)。對於閱讀它,我想嘗試的伴侶項目threepress,可能會顯示在瀏覽器的epub電子書一個Django應用程序 - 沒有看過的代碼,但我想,爲了表明這本書那肯定首先是能夠閱讀;-)。
epub-tools和epubtools似乎是epub生成器。 – xiamx 2010-06-26 21:31:03
@xiamx,是的,「主要是關於寫作」,正如我所說 - 所以,你有沒有嘗試三鍵代碼? – 2010-06-27 02:08:28
退房的epub module。它看起來像一個簡單的選擇。
我結束了在這裏尋找類似的東西后,被博思韋爾先生的代碼片段啓發,開始我自己的項目。如果有人有興趣... http://epubzilla.odeegan.com/
相當有用你鏈接 – embert 2014-04-20 13:20:54
- 1. 提取數據庫信息
- 2. 提取信息
- 3. 提取信息
- 4. 提取信息
- 5. 提取信息
- 6. 提取信息
- 7. 用於python的epub庫
- 8. NLP - 在Python(spaCy)信息提取
- 9. 從python提取特定信息來源:
- 10. 使用Python從shapefile中提取信息
- 11. 使用Python提取LinkedIn信息
- 12. Python - 從數據框提取信息(JSON)
- 13. 爲sql數據庫提取信息
- 14. 數據庫綱要和提取信息
- 15. prolog - 提取信息
- 16. 提取json信息
- 17. 信息提取mac
- 18. Jython - 提取信息
- 19. bashscript提取信息
- 20. 提卡信息提取
- 21. 提取正確的信息
- 22. 提取的信息與XSLT
- 23. 解析epub信息,如標題,作者
- 24. 從mongoDB中提取信息
- 25. 從xml中提取信息
- 26. 從html提取信息greasemonkey
- 27. DOMXpath查詢提取信息
- 28. SQL邏輯提取信息
- 29. 從dictionary.description中提取信息?
- 30. 從XML中提取信息
我投票離開這個問題公開,因爲它似乎在詢問的時候,沒有庫來實現所需的功能,我認爲接受的答案包含有價值的代碼。 – 2013-12-05 09:09:24
評論是不適合你的,但對於投票結束這個問題的人來說。沒有理由不接受答案,特別是它解決了你的問題。 – 2013-12-10 13:42:59
關閉並不意味着刪除,答案是吸引鏈接只有答案,並可能在未來的垃圾郵件。 – bummi 2015-05-11 05:19:02