共計(jì) 1363 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
要在 Python 中抓取 PDF 數(shù)據(jù),可以使用 pdfminer 庫(kù)。以下是一個(gè)簡(jiǎn)單的示例代碼,展示了如何使用 pdfminer 來(lái)解析 PDF 文件并提取文本數(shù)據(jù)。
首先,確保已安裝 pdfminer 庫(kù)。可以使用以下命令進(jìn)行安裝:
pip install pdfminer.six
然后,使用以下代碼來(lái)抓取 PDF 數(shù)據(jù):
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from io import StringIO
def extract_text_from_pdf(pdf_path):
resource_manager = PDFResourceManager()
return_string = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(resource_manager, return_string, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(resource_manager, device)
with open(pdf_path, 'rb') as file:
for page in PDFPage.get_pages(file, check_extractable=True):
interpreter.process_page(page)
text = return_string.getvalue()
device.close()
return_string.close()
return text
pdf_path = 'example.pdf'
text = extract_text_from_pdf(pdf_path)
print(text)
在上面的示例代碼中,我們定義了一個(gè) extract_text_from_pdf
函數(shù),它接受一個(gè) PDF 文件路徑作為參數(shù),并返回提取的文本數(shù)據(jù)。
首先,我們創(chuàng)建了一個(gè) PDFResourceManager
對(duì)象和一個(gè) StringIO
對(duì)象,用于存儲(chǔ)提取的文本數(shù)據(jù)。然后,我們創(chuàng)建了一個(gè) TextConverter
對(duì)象和一個(gè) PDFPageInterpreter
對(duì)象,用于將 PDF 頁(yè)面轉(zhuǎn)換為文本數(shù)據(jù)。
接下來(lái),我們使用 open
函數(shù)打開(kāi) PDF 文件,并使用 PDFPage.get_pages
函數(shù)遍歷 PDF 文件的每個(gè)頁(yè)面。在遍歷每個(gè)頁(yè)面時(shí),我們使用 interpreter.process_page
函數(shù)將頁(yè)面?zhèn)鬟f給 TextConverter
對(duì)象進(jìn)行處理。
最后,我們通過(guò) return_string.getvalue()
獲取提取的文本數(shù)據(jù),并調(diào)用 close
方法關(guān)閉相關(guān)對(duì)象。最后,我們返回提取的文本數(shù)據(jù)。
在代碼的最后,我們定義了一個(gè) PDF 文件路徑,并調(diào)用 extract_text_from_pdf
函數(shù)來(lái)抓取 PDF 數(shù)據(jù)。最后,我們打印出提取的文本數(shù)據(jù)。
請(qǐng)注意,pdfminer 庫(kù)還提供了其他功能,例如提取 PDF 中的圖片、表格等。你可以根據(jù)自己的需求進(jìn)行進(jìn)一步探索和使用。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!