PDF-scraping met R

Ik heb het XML-pakket met succes gebruikt voor het extraheren van HTML-tabellen, maar wil uitbreiden naar PDF's. Uit eerdere vragen blijkt dat er geen eenvoudige R-oplossing is, maar vroeg zich af of er recente ontwikkelingen waren

Als dat niet lukt, is er een manier om Python (waarin ik een complete novice ben) te verkrijgen en manipuleer pdf's zodat ik het karwei af kon maken met het R XML-pakket

10

4 antwoord

Het extraheren van tekst uit PDF's is moeilijk en vereist bijna altijd veel zorg.

Ik zou beginnen met de commandoregelhulpmiddelen zoals pdftotext en zien wat ze uitspugen. Het probleem is dat PDF's de tekst in willekeurige volgorde kunnen opslaan, onhandige coderingen van lettertypen kunnen gebruiken en dingen kunnen doen zoals het gebruik van ligatuurkarakters (de samengevoegde 'ff' en 'ij' die u in het juiste zetwerk ziet) om u te gooien.

pdftotext is installeerbaar op elk Linux-systeem ...

10
toegevoegd
Goed pdftotext werkt prima bij het produceren van een schone tekstpagina, maar het is niet in elke vorm om eenvoudig te maken wat ik wil. In ieder geval bedankt
toegevoegd de auteur pssguy, de bron
toegevoegd de auteur pssguy, de bron
Gedetacheerd. Doen in R is de moeite van niemand waard om te ontwikkelen en te onderhouden, wanneer er opties zijn die veel beter worden onderhouden buiten R. Als je veel bestanden moet doen, probeer dan de vind utility in Unix (of in de GNU-verzameling voor Windows), of je kunt R-verzendopdrachten naar de shell sturen, bestandsnamen doorlopen ... Zelfs Adobe had lange tijd een vreselijke tekstextractor (niet zeker of het nu beter is) , terwijl Xerox een goede had.
toegevoegd de auteur Iterator, de bron
Kun je ons wijzen op een representatief PDF-bestand?
toegevoegd de auteur Spacedman, de bron
Het uitvoeren van pdftotext is niet geweldig op die pagina, maar het converteren naar ps first of gewoon ps2txt uitvoeren op de PDF levert een bijna perfecte tabel op met enkele paginakoppen/foots om te verwijderen.
toegevoegd de auteur Spacedman, de bron
Ik heb ook veel geluk met pdftotext op windows
toegevoegd de auteur pguardiario, de bron

Misschien wilt u het pakket tekstmining bekijken tm . Ik herinner eraan dat ze zogenaamde lezers implementeerden, en er was er ook een voor pdf's.

5
toegevoegd
Bedankt. Ik heb documenten gecontroleerd. Gebruikt op de een of andere manier pdftotext
toegevoegd de auteur pssguy, de bron

AFAIK er is geen eenvoudige manier om PDF-tabellen om te zetten in iets nuttigs voor gegevensanalyse. U kunt het hulpprogramma File to Text van Data Science Toolkit gebruiken (R-interface via RDSTK -pakket), parseer dan de resulterende tekst. Wees gewaarschuwd: het ontleden is vaak niet-triviaal.


EDIT: Er is een nuttige discussie over het converteren van PDF's naar xml op discerning.com . Het korte antwoord is dat je waarschijnlijk een commerciële tool moet kopen.

4
toegevoegd
+1 Bedankt voor dat. ik controleerde de discussie en probeerde het ABBYY-product tijdens de proef te downloaden, maar het zou niet goed werken. Ik denk dat ik verdoemd ben
toegevoegd de auteur pssguy, de bron

Het hart van de tabula -toepassing die tabellen uit PDF-documenten kan extraheren, is beschikbaar als een eenvoudige Java-toepassingsopdrachtregel, tabula-extractor .

Deze Java-app is ingepakt in R door het pakket tabulizer . Geef het het pad naar een PDF-bestand door en het probeert gegevenstabellen voor u te extraheren en als gegevens terug te geven.

Zie voor een voorbeeld Wanneer documenten Databases worden - Tabulizer R Wrapper voor Tabula PDF Table Extractor .

1
toegevoegd