繁体   English   中英

从文件夹内的多个 PDF 文件中提取 email 地址、名字和姓氏

[英]Extracting email address, first name and last name from multiple PDF files within a folder

我正在尝试从文件夹中的所有 PDF 文件中提取以下信息,PDF 文件是 CV:Email 地址,名字,工作项目的姓氏。

我已经成功地使用以下代码提取了 Email 地址:

from io import StringIO
from pdfminer3.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer3.converter import TextConverter
from pdfminer3.layout import LAParams
from pdfminer3.pdfpage import PDFPage

import subprocess
from subprocess import call
import os

import re

working_directory = './folder'

file_list = []   # define file_list to save all dxf files
email_list = {}   # define file_list to save all dxf files
for subdir, dirs, files in os.walk(working_directory):
    for file in files:
        if file.endswith('.pdf'):
            file_list.append(file)
            
for input_file in file_list:
    
    pagenums = set()
    
    output = StringIO()
    
    manager = PDFResourceManager()
    
    converter = TextConverter(manager, output, laparams=LAParams())
    
    interpreter = PDFPageInterpreter(manager, converter)
    
    infile = open('./folder/' + input_file, 'rb')
    
    for page in PDFPage.get_pages(infile, pagenums):
        interpreter.process_page(page)
    
    infile.close()
    
    converter.close()
    
    text = output.getvalue()
    
    output.close()
    
    match = re.search(r'[\w\.-]+@[a-z0-9\.-]+', text)
    
    try:
        email = match.group(0)
    except AttributeError:
        email = match
        
    if email is None:
        pass
    else:
        email_list.update({input_file: email})
        print(email_list[input_file])
    
email_list

但是无法提取名字和姓氏,任何帮助将不胜感激!

你可以找到email的信息,因为背后有逻辑

match = re.search(r'[\w\.-]+@[a-z0-9\.-]+', text)

但是您还必须找出一个逻辑来找出 PDF 文件的名字和姓氏。

例如,可能是Dear,之后的特定字段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM