Poppler はPDF操作のためのライブラリで、これをPythonから使えるようにしたのが python-poppler ライブラリである。pip install python-poppler
で入る。
conda の場合は brew install poppler cmake
、conda install poppler
、pip install --no-deps python-poppler
で入った。
ローカルのPDFファイルを読んでテキスト化する:
import poppler pdf = poppler.load_from_file("test.pdf") for i in range(pdf.pages): p = pdf.create_page(i) print(p.text())
URLで指定されたPDFファイルを読んでテキスト化する:
import requests import poppler r = requests.get("https://example.org/test.pdf") pdf = poppler.load_from_data(r.content) for i in range(pdf.pages): p = pdf.create_page(i) print(p.text())
PDFスクレイピングにはほかに pdfminer.six や pdfplumber などさまざまなツールがある。@barobaro さんの記事、IMABARI ZINE さんの記事、PythonでPDFからテキスト/表情報の抽出精度を比較してみたなど参照。