如何获得;HTTPS";链接以及如何在python中将epub转换为txt?

如何获得;HTTPS";链接以及如何在python中将epub转换为txt?,python,beautifulsoup,epub,Python,Beautifulsoup,Epub,我想把epub转换成txt。 我首先通过zipfile对xhtml进行epub。 然后我尝试通过beautifulsoup将xhtml转换为epub 但是,由于本地文件名的原因,存在一个问题。 例如,我的xhtml文件名是“C:\Users\abc.xhtml”,而不是“HTTPS”。 这么说,美丽之声不起作用了 我怎样才能解决这个问题 ''' import zipfile zf = zipfile.ZipFile('C:\\Users\\abc.epub') zf.extractall('C

我想把epub转换成txt。 我首先通过zipfile对xhtml进行epub。 然后我尝试通过beautifulsoup将xhtml转换为epub

但是,由于本地文件名的原因,存在一个问题。 例如,我的xhtml文件名是“C:\Users\abc.xhtml”,而不是“HTTPS”。 这么说,美丽之声不起作用了

我怎样才能解决这个问题

'''
import zipfile

zf = zipfile.ZipFile('C:\\Users\\abc.epub')
zf.extractall('C:\\Users\\Desktop\\folder')
'''
import re, requests
from bs4 import BeautifulSoup
html = "C:\\Users\\abc.xhtml"

soup = BeautifulSoup(html, 'lxml')
print(soup.text)

BeautifulSoup
构造函数需要html文件的实际内容,而不是url。试试这个:

with open(html) as f:
    contents = f.read()
soup = BeautifulSoupd(contents, 'lxml')

BeautifulSoup
构造函数需要html文件的实际内容,而不是url。试试这个:

with open(html) as f:
    contents = f.read()
soup = BeautifulSoupd(contents, 'lxml')

您不需要使用BeautifulSoup进行提取

您可以使用可从PyPi安装的
epub转换
包将.epub文件转换为文本:

pip install epub-conversion
现在,从epub存档中提取文本是一项简单的任务:

逐行:
从epub\u conversion.utils导入open\u book,将epub\u转换为\u行
book=open\u book(“some\u file.epub”)
行=转换为行(书本)
现在,与您的问题一样,您可以将其作为一个整体打印,也可以选择处理每一行:

打印(行)
#或者横穿每一条线
对于行中的行:
打印(行)#或做完全不同的事情

提取时不需要使用BeautifulSoup

您可以使用可从PyPi安装的
epub转换
包将.epub文件转换为文本:

pip install epub-conversion
现在,从epub存档中提取文本是一项简单的任务:

逐行:
从epub\u conversion.utils导入open\u book,将epub\u转换为\u行
book=open\u book(“some\u file.epub”)
行=转换为行(书本)
现在,与您的问题一样,您可以将其作为一个整体打印,也可以选择处理每一行:

打印(行)
#或者横穿每一条线
对于行中的行:
打印(行)#或做完全不同的事情

问题是:他/她已经有了一个.epub文件,想要得到文本。为什么要先使用
zipfile
进行解包,然后使用
bs4
lxml
,而您只需要.epub中的文本?请看我的答案,找到一个更简单的解决办法。简单总比复杂好Python的禅宗。我的解决方案更简单更容易。放松点,这对我来说不是竞争!问题是:他/她已经有一个.epub文件,并且想要得到文本。为什么要先使用
zipfile
进行解包,然后使用
bs4
lxml
,而您只需要.epub中的文本?请看我的答案,找到一个更简单的解决办法。简单总比复杂好Python的禅宗。我的解决方案更简单更容易。放松点,这对我来说不是竞争!您的问题基本上是:“如何将.epub转换为txt?”您没有指定为什么需要或希望从
bs4
库获得额外的复杂性或功能。我给了你问题的答案,那么为什么要接受一个更复杂的答案呢?根据Python的Zen,简单胜于复杂……您的问题基本上是:“如何将.epub转换为txt?”您没有指定为什么需要或希望从
bs4
库获得额外的复杂度或功能。我给了你问题的答案,那么为什么要接受一个更复杂的答案呢?根据Python的禅宗,简单比复杂好…对不起,我现在看到了这个anwser。但是我有一些问题。首先,“xml_cleaner”错误。我通过使用“xml清洁器”而不是“xml_清洁器”来解决这个问题。对吗?此外,AttributeError:'NoneType'对象没有属性'opf'。我该怎么解决呢?@rut如果你同意我的答案比搞乱废话更好,我会告诉你的@你能把代码粘贴到什么地方吗?更新你的问题,或者在这里使用要点和链接?对不起,我现在看到了这个。但是我有一些问题。首先,“xml_cleaner”错误。我通过使用“xml清洁器”而不是“xml_清洁器”来解决这个问题。对吗?此外,AttributeError:'NoneType'对象没有属性'opf'。我该怎么解决呢?@rut如果你同意我的答案比搞乱废话更好,我会告诉你的@你能把代码粘贴到什么地方吗?更新你的问题或者在这里使用要点和链接?