我正在将ePub转换为单个HTML文件,因此我需要将各个章节连接到一个HTML文件中。这些名称是“…\u split_000.html”等,我设置了各种结构来迭代ToC,生成目录名等等。在
在正文部分中,首先要把内容的主体部分和后面的部分内容合并在一起。我的代码似乎不起作用。”book“是ebooklib的epub类的一个实例docsfiles”是一个字典,其中HTML文件的名称作为键,文件列表作为一个值:
def concat_articles(book, docsfiles, toc):
articles = {}
for doc, val in docsfiles.iteritems():
firstsoup = False
for f in val['files']:
content = book.get_item_with_href(f).content
soup = BeautifulSoup(content, "html.parser")
if not firstsoup:
firstsoup = soup
continue
body = copy.copy(soup.body)
firstsoup.body.append(body)
articles[val['id']] = firstsoup.prettify("utf-8")
return articles
在ePub上运行此程序时,出现错误:
^{pr2}$实际上,我应该把这个打开汤.身体在上面的代码中,但是会导致另一个错误,所以我想我会先解决这个问题。在
奇怪的是,我从this StackOverflow post使用Martijn Peters的“clone()”方法:
为什么这样做,以及“复制。复制()“没有,我还没弄明白。在
完整的工作解决方案没有重复的主体标签如下所示:
^{pr2}$当我使用复制。复制在第一行中,但当我将“clone()”替换为复制。复制()”在最后一行。在
可能太迟了,但我遇到了类似的问题,找到了一个更简单的解决方案。请使用str()函数将使用beauthoulGroup提取的所有对象转换为字符串。在
相关问题 更多 >
编程相关推荐