【问题标题】:How extract text from epub in Python (from an url source)如何在 Python 中从 epub 中提取文本(来自 url 源)
【发布时间】:2020-07-22 23:50:01
【问题描述】:

我想从 epub 中提取内容,但我不知道如何从 url 源中提取内容。我的代码现在是这样的:(ebooklib)

import urllib.request
import ebooklib
from ebooklib import epub


myurl = "https://diegooli.s3.us-east-2.amazonaws.com/Cabana.epub"

with urllib.request.urlopen(myurl) as url:
    s = url.read()

book = epub.read_epub(s)

for image in book.get_items_of_type(ebooklib.ITEM_IMAGE):
    print(image)

错误,显然:

    AttributeError: 'bytes' object has no attribute 'seek'

谁能给我一盏灯?

【问题讨论】:

  • 为什么这个错误会很明显?
  • 因为我知道我做错了什么=P

标签: python extract epub


【解决方案1】:

先保存 epub 文件,然后使用电子书库打开文件

  • 使用urllib下载电子书
  • 使用ebooklib打开电子书并获取图片

代码如下:

import urllib.request
import ebooklib
from ebooklib import epub

myurl = "https://diegooli.s3.us-east-2.amazonaws.com/Cabana.epub"

with urllib.request.urlopen(myurl) as url:
    s = url.read()
    
with open(r"c:\tmp\test.epub", "wb") as f:
    f.write(s)

book = epub.read_epub(r"c:\tmp\test.epub")

for image in book.get_items_of_type(ebooklib.ITEM_IMAGE):
    print(image)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多