首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中获取HTTPS链接以及如何将epub转换为txt?

如何在python中获取HTTPS链接以及如何将epub转换为txt?
EN

Stack Overflow用户
提问于 2020-02-29 22:26:30
回答 2查看 248关注 0票数 1

我想把epub转换成txt。我首先通过zipfile将epub转换为xhtml。然后我试着把xhtml转换成epub。

但是,由于本地文件名存在问题。例如,我的xhtml文件名是"C:\Users\abc.xhtml",而不是"HTTPS“。好美的汤不起作用。

我该如何解决这个问题呢?

代码语言:javascript
运行
复制
'''
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-29 22:52:04

提取时不需要使用BeautifulSoup。

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

代码语言:javascript
运行
复制
pip install epub-conversion

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

逐行:

代码语言:javascript
运行
复制
from epub_conversion.utils import open_book, convert_epub_to_lines

book = open_book("some_file.epub")

lines = convert_epub_to_lines(book)

现在,正如您的问题中所述,您可以将其作为一个整体打印,也可以选择处理每一行:

代码语言:javascript
运行
复制
print(lines)

# or traverse each line
for line in lines:
    print(line) # Or do something completely different 
票数 0
EN

Stack Overflow用户

发布于 2020-02-29 22:42:24

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

代码语言:javascript
运行
复制
with open(html) as f:
    contents = f.read()
soup = BeautifulSoupd(contents, 'lxml')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60466129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档