首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将pdf转换为html

在Python中将pdf转换为html
EN

Stack Overflow用户
提问于 2016-12-21 21:57:29
回答 0查看 14.8K关注 0票数 2

Python 2.6

我正在尝试解析我的pdf文件,其中一种方法是将其转换为html并提取标题和段落。所以,我尝试了pdf2htmlEX,它将我的pdf格式转换成html而不影响我的pdf格式…到目前为止,我很高兴,但当我尝试使用以下命令访问我的标题时:

代码语言:javascript
复制
>> import subprocess

>> path = "/home/administrator/Documents/pdf_file.pdf"
>> subprocess.call(["pdf2htmlEX" , path])

但当我打开html文件时,它给了我不必要的东西和我的文本,更重要的是,我的文本没有标题标签,只有一堆div和span。

代码语言:javascript
复制
 >> f = open('/home/administrator/Documents/pdf_file.html','r')
 >> f = f.read()
 >> print f

我甚至尝试过使用BeautifulSoup访问它

代码语言:javascript
复制
>> from bs4 import BeautifulSoup as bs

>> soup = BeautifulSoup(f)
>> soup.find('div', attrs={'class': 'site-content'}).h1

它没有给我任何东西,因为没有标签。我也尝试过HTMLParser

从HTMLParser导入HTMLParser

代码语言:javascript
复制
# create a subclass and override the handler methods
class myhtmlparser(HTMLParser):
    def __init__(self):
         self.reset()
         self.NEWTAGS = []
         self.NEWATTRS = []
         self.HTMLDATA = []
    def handle_starttag(self, tag, attrs):
         self.NEWTAGS.append(tag)
         self.NEWATTRS.append(attrs)
    def handle_data(self, data):
         self.HTMLDATA.append(data)
    def clean(self):
         self.NEWTAGS = []
         self.NEWATTRS = []
         self.HTMLDATA = []

parser = myhtmlparser()
parser.feed(f)

# Extract data from parser
tags  = parser.NEWTAGS
attrs = parser.NEWATTRS
data  = parser.HTMLDATA

# Clean the parser
parser.clean()

# Print out our data
#print tags
print data

但它们都没有满足我所要求的愿望。所有我想要的是提取每个标题,以及他们所需的段落从html文件是太多的要求…:p我几乎搜索了每个网站,阅读了几乎所有关于这篇文章的内容,但我所有的努力都白费了。请在这方面给我指点。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41264500

复制
相关文章

相似问题

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