[英]Pypdf extracts code from one PDF, but not from another?
我正在嘗試為我自己的 pdf 文件制作一個原始爬蟲。 為此,我使用Pypdf
提取數據(客戶、產品、金額等)並使用該數據。
現在,我有了代碼,它非常簡單,但是當我在谷歌的一些隨機 PDF 上嘗試它時,它似乎無法從我的 PDF 中提取任何東西,它可以工作。 我嘗試使用我的多個文檔,pdf,不工作,隨機 pdf 從互聯網上工作。
我使用 Spyder。
下面是我正在使用的代碼:
import PyPDF2 as p2
PDFfile=open("pdf_barrierefrei.pdf","rb") # Random PFD off the Internet
pdfread = p2.PdfFileReader(PDFfile)
x = pdfread.getPage(0)
print(x.extractText())
PDFfile.close
PDFfile=open("2.pdf","rb")
pdfread = p2.PdfFileReader(PDFfile) # My PDF
y = pdfread.getPage(0)
print(y.extractText())
PDFfile.close
我的預期 output 是一串混搭數據,它是我的 PDF 的一部分,例如客戶、我的姓名、日期等,然后我對其進行排序並清除。
實際結果是:
" " "
或者半頁什么都沒有,只是“In [40]:”,然后是字面上的 20 句什么都沒有,沒有錯誤或任何東西
output 來自隨機 Pdf:
"
" "
這只是一些隨意的塗鴉,不關心內容,只是它給我一些文字。
我對編碼真的很陌生,我不知道從哪里開始,因為它們都是 PDF。 我只是想知道是不是因為我使用“打印到 PDF”來創建它們?
對於 pdf_barrierefrei.pdf,看起來文本結果轉換為 unicode 格式。 順便說一句,我使用的是 jupyther notebook 而不是 spyder,所以我得到了正確的結果。
對於 2.pdf,pdf 有一個圖像標志和表格。 安裝 tika (pip install tika) 然后使用下面的代碼將非圖像讀入文本。
from tika import parser
raw = parser.from_file('2.pdf')
print(raw['content'])
結果:
產品列表 Schickmaier Excel.xlsx
利弗申
Kunde 客戶地址
地址數據數據
K/DB-編號 211 聯系方式
Preis/NM Gesamtpreis
Bio Erdbeer-Chilischokolade 3,05 € 20 61,09 €
Bio Beuscherl 5,23 € 6 31,36 €
Bio ChiliconCarne 5,98 € 15 89,77 €
Bio Geschnetzeltes 5,23 € 15 78,41 €
Versand Brutto Versand Netto - €
Warenwert netto 10% 260,64 €
Umsatzsteuer 10% 26,06 €
RECHNUNGSBETRAG BRUTTO 286,70 €
網站 1/1
2019/
數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.