PDF-Scraping mit R

Ich habe das XML-Paket erfolgreich zum Extrahieren von HTML-Tabellen verwendet, möchte aber auf PDFs erweitern. Aus früheren Fragen geht nicht hervor, dass es eine einfache R-Lösung gibt, sondern fragt sich, ob es kürzlich Entwicklungen gegeben hat

Wenn das nicht klappt, gibt es einen Weg in Python (in dem ich ein kompletter Novize bin) zu erhalten und manipuliere pdfs, damit ich den Job mit dem R-XML-Paket beenden kann

10

4 Antworten

Extrahieren von Text aus PDFs ist schwer und erfordert fast immer viel Sorgfalt.

Ich würde mit den Befehlszeilenwerkzeugen wie pdftotext anfangen und sehen, was sie ausspucken. Das Problem ist, dass PDFs den Text in beliebiger Reihenfolge speichern können, umständliche Font-Kodierungen verwenden können und Dinge wie Ligatur-Zeichen (die verbundenen 'ff' und 'ij', die Sie beim richtigen Schriftsatz sehen) verwenden, um Sie zu werfen.

pdftotext ist auf jedem Linux-System installierbar ...

10
hinzugefügt
Gut pdftotext funktioniert tadellos, wenn es eine saubere Textseite produziert, aber es ist nicht in einer Art Form, zum leicht zu verursachen, was ich will. Trotzdem danke
hinzugefügt der Autor pssguy, Quelle
hinzugefügt der Autor pssguy, Quelle
Abgeordnet. Es lohnt sich nicht, es in R zu tun, wenn es Optionen gibt, die außerhalb von R besser gepflegt werden. Wenn Sie viele Dateien machen müssen, versuchen Sie es mit dem find Dienstprogramm in Unix (oder in der GNU-Sammlung für Windows), oder man kann R Befehle an die Shell senden, über Dateinamen laufen lassen ... Selbst Adobe hatte lange Zeit einen schrecklichen Textextraktor (nicht sicher, ob es jetzt besser ist) , während Xerox einen guten hatte.
hinzugefügt der Autor Iterator, Quelle
Können Sie uns auf eine repräsentative PDF-Datei verweisen?
hinzugefügt der Autor Spacedman, Quelle
Das Ausführen von pdftotext ist auf dieser Seite nicht brillant, aber die Umwandlung in ps zuerst oder einfach das Ausführen von ps2txt in der PDF erzeugt eine fast perfekte Tabelle mit einigen zu entfernenden Seitenköpfen.
hinzugefügt der Autor Spacedman, Quelle
Ich hatte auch viel Glück mit pdftotext unter Windows
hinzugefügt der Autor pguardiario, Quelle

Vielleicht möchten Sie das Text Mining Paket tm . Ich erinnere mich, dass sie so genannte Leser implementiert haben, und es gab auch einen für PDFs.

5
hinzugefügt
Vielen Dank. Ich habe Dokumente überprüft. Benutzt irgendwie pdftotext
hinzugefügt der Autor pssguy, Quelle

AFAIK gibt es keine einfache Möglichkeit, PDF-Tabellen in etwas Nützliches für die Datenanalyse zu verwandeln. Sie können das Dienstprogramm Data Science Toolkit "Datei zu Text" verwenden (R-Schnittstelle über RDSTK Paket, dann parsen Sie den resultierenden Text. Seien Sie gewarnt: Das Parsen ist oft nicht trivial.


Bearbeiten: Es gibt eine nützliche Diskussion über die Konvertierung von PDFs in xml auf anspruchsvollen.com . Die kurze Antwort ist, dass Sie wahrscheinlich ein kommerzielles Werkzeug kaufen müssen.

4
hinzugefügt
+1 Danke dafür. Ich überprüfte die Diskussion und versuchte, das ABBYY-Produkt auf Probe zu laden, aber es wurde nicht ordnungsgemäß eingerichtet. Ich schätze, ich bin verloren
hinzugefügt der Autor pssguy, Quelle

Das Herzstück der Anwendung tabula , mit der Tabellen aus PDF-Dokumenten extrahiert werden können, ist als einfache Java-Anwendung in der Befehlszeile verfügbar, tabula-extractor .

Diese Java-App wurde von dem Tabulator -Paket in R eingeschlossen. Übergeben Sie den Pfad zu einer PDF-Datei und es wird versucht, Datentabellen für Sie zu extrahieren und sie als Daten zurückzugeben.

Ein Beispiel finden Sie unter Wenn Dokumente zu Datenbanken werden - Tabulizer R Wrapper für Tabula PDF Table Extractor .

1
hinzugefügt