使用Python正确解析PDF段落

时间:2019-04-03 16:26:42

标签: python parsing pdf

我正在创建一个Python脚本,该脚本应该从系统加载一堆PDF文件,进行一些数据分析并输出结果。数据分析的本质是,我必须按段落分析PDF,并且对于每个段落,我都必须遍历每个短语,检查是否满足某些条件。

我当前正在使用Tika进行解析。这就是我评估段落的方式。

这是我当前正在做的事情,正在加载内容,然后用唯一的字符串替换每次出现的一个或多个换行符。用空格替换每个常规换行符,用双换行替换该唯一字符串。我这样做是为了更清楚哪个换行符分隔一个段落。然后,我继续提取段落并返回没有重复的段落列表(Tika有时会重复内容)。

def getpdfcontent(path):
    pdf_content = extract_pdf(path)
    text = re.sub(r"\n{2,}", "<131313>", pdf_content['content'])
    text = text.replace("\n", " ")
    text = text.replace("<131313>", "\n\n")
    paragraphs = extractparagraphs(text.splitlines())
    return removeduplicates(paragraphs)

这就是我提取段落的方式。我检查当前行是否为空,当前段落中是否包含某些内容,然后将其附加到列表中。

def extractparagraphs(lines):
    current = ""
    paragraphs = []
    for line in lines:
        if not line.strip():
            if current.strip():
                paragraphs.append(current)
                current = ""
            continue
        current += line.strip()
    return paragraphs

这就是我的语气,我可能会加上!?也要拆分。

def getphrases(document):
    phrases = []
    phr = document.split(".")
    phrases.extend(phr)
    return phrases

现在我的首要任务是知道我是否可以改善解析度? 如果没有,我可以做些优化吗?

0 个答案:

没有答案