蟒蛇2.6
我正在尝试解析我的 pdf 文件,一种方法是将其转换为 html 并提取标题及其段落。所以,我尝试了 pdf2htmlEX 并将我的 pdf 转换为 html 而不会干扰我的 pdf 格式......到目前为止,我很高兴但是当我尝试使用这样的命令访问我的标题时:
>> import subprocess
>> path = "/home/administrator/Documents/pdf_file.pdf"
>> subprocess.call(["pdf2htmlEX" , path])
但是当我打开我的 html 文件时,它给了我不必要的东西以及我的文本,更重要的是,我的文本没有标题标签,只有一堆 div 和 span。
>> f = open('/home/administrator/Documents/pdf_file.html','r')
>> f = f.read()
>> print f
我什至尝试使用 BeautifulSoup 访问它
>> from bs4 import BeautifulSoup as bs
>> soup = BeautifulSoup(f)
>> soup.find('div', attrs={'class': 'site-content'}).h1
它没有给我任何东西,因为没有标签。我也试过 HTMLParser
从 HTMLParser 导入 HTMLParser
# 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 我搜索了几乎每个站点并阅读了几乎所有内容,但我所有的努力都徒劳无功。请在这方面指导我...