Ich habe pdfminer verwendet, um komplexe (Tabellen, Abbildungen) und sehr lange pdfs in HTML zu konvertieren. Ich möchte die Ergebnisse weiter analysieren (z. B. Tabellen extrahieren, Absätze usw.) und dann den Satz-Tokenizer von nltk verwenden, um weitere Analysen durchzuführen. Zu diesem Zweck möchte ich die HTML-Datei in eine Textdatei speichern, um herauszufinden, wie das Parsing durchgeführt wird. Leider hat mein Code nicht html zu txt schreiben:Schreiben Sie HTML-Tags in Textdatei in Python
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import HTMLConverter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
def convert_pdf_to_html(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = HTMLConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0 #is for all
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
fp.close()
device.close()
str1 = retstr.getvalue()
retstr.close()
return str1
with open("D:/my_new_file.txt", "wb") as fh:
fh.write(str1)
Außerdem druckt der Code den ganzen HTML-String in der Schale: Wie kann ich es vermeiden?
@ Jean-François Fabre Thank you! Du hast Recht, jetzt funktioniert es gut. – In777