モジュール スレートを使用しました。これは pdfminer に基づいています。
次のスクリプトは、1 ページ目と 2 ページ目の記事を正しく読み取ることができますが、ページ数が多く、複数の pdf ファイルがあるため、レイアウトが異なる場合があります。うまく表示されません。おそらく for ループを構築する必要がありますが、正確な方法はわかりません。おそらく for ループを構築する必要がありますが、正確な方法はわかりません。
アイテムがデータベースに残されることも意図されていますが、最初にフィルター スクリプトに送信する必要があります。アイテムをタイトル、説明、記事の日付、日付の追加、URL、および regio_land に分類できると便利でしょうか?
PDF ファイル:
- DHS_Daily_Report_2012-08-30
- DHS_Daily_Report_2012-08-29
- DHS_Daily_Report_2012-08-28
- DHS_Daily_Report_2012-08-27
- その他の日報
import slate
global artikelIndexStr
with open('report.pdf') as f:
doc = slate.PDF(f)
report = slate.PDF(f)
pdfstring = doc[1] + doc[2] + doc[3] + doc[4] + doc[5] + doc[6] + doc[7] + doc[8] + doc[9] + doc[10] + doc[11] + doc[12] + doc[13] + doc[14] + doc[15] + doc[16] + doc[17] + doc[18] + doc[19] + doc[20]
# print pdfstring
f3 = 'Even iets'
f3 = pdfstring
temparray = []
temparray2 = []
artikelIndex = 1
artikelIndexStr = ""
while f3 != "":
f1, f2, f3 = f3.partition("[Return to top]")
temparray.append(f1)
print len(temparray)
nieuweIndex = "" + temparray[0]
print nieuweIndex
a1, a2, a3 = nieuweIndex.partition("1. ")
b1, b2, b3 = a3.partition("Source: ")
c1, c2, c3 = b3.partition("2. ")
d1, d2, d3 = c3.partition("Source: ")
e1, e2, e3 = d3.partition("3.")
g1, g2, g3 = e3.partition("Source: ")
h1, h2, h3 = g3.partition("4.")
i1, i2, i3 = h3.partition("Source: ")
j1, j2, j3 = i3.partition("5.")
k1, k2, k3 = h3.partition("Source: ")
l1, l2, l3 = i3.partition("6.")
print ""
print b1
print ""
print c1
print ""
print d1
print ""
print e1
print ""
print g1
print ""
print h1
print ""
print i1
print ""
print j1
print ""
print k1
print ""
print l1