SVN 6473 - PDF - Parser

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

SVN 6473 - PDF - Parser

Beitragvon bluumi » Mi Nov 11, 2009 2:45 pm

Habe Gestern versucht die Sammlung der PDF - Dokumente auf unserer Homepage zu parsen. Dabei bekomme ich jedoch nur einen Parse Error zurück, bzw. pro Dokument einen.

Code: Alles auswählen
cannot load: load error - REJECTED WRONG MIME TYPE: mime type '' is denied; url = http://www.kanti-baden.ch/index.php?id=297&no_cache=1&download=Sportlageruebersicht.pdf&did=14”


Gibt es eine Möglichkeit den MimeType aus so einer URL auszulesen? Erst dacht ich, dass meine Dokumente möglicherweise gar nicht maschinenlesbar sind, jedoch habe ich entdeckt dass der Datenkracke (Google) es konnte.
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: SVN 6473 - PDF - Parser

Beitragvon Orbiter » Mi Nov 11, 2009 4:52 pm

der parser erkennt den Dateityp entweder an dem mitgeliefertem mime-type oder der Extension. Aber irgendwie steht deine Parser mime-ignore list so, dass sie leere mime-types ignoriert. Vielleicht ein Fehler in deinen settings, wer weiss wie die da rein gekommen sind.

Bitte gucken mal in DATA/SETTINGS/yacy.conf in die Zeile mit 'parser.mime.deny'. was steht da drin?

Ansonsten hilft vielleicht noch ein patch in SVN 6474. Wenn nicht, bitte neues Log hier posten, da sollte ein Detail anders sein was weiter hilft.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: SVN 6473 - PDF - Parser

Beitragvon bluumi » Mi Nov 11, 2009 6:21 pm

Orbiter hat geschrieben:erkennt den Dateityp entweder an dem mitgeliefertem mime-type oder der Extension.
Bitte gucken mal in DATA/SETTINGS/yacy.conf in die Zeile mit 'parser.mime.deny'. was steht da drin?

Ansonsten hilft vielleicht noch ein patch in SVN 6474. Wenn nicht, bitte neues Log hier posten, da sollte ein Detail anders sein was weiter hilft.

Die gesuchten Einträge sind leer:
parser.mime.deny=
parser.extensions.deny=

Da eines ein frisch aufgesetzter Peer war, dachte ich schon, dass da eher nicht das Problem liegt. (dieser PDF-Parser-Spiel-Peer ist jedoch nicht von aussen erreichbar) - Werde mal die SVN ersetzten.
Um Probleme mit der Extension auszuschliessen habe ich es auch probiert die Kryptische URL zu verdrehen, bzw das "&did=14" abzuschneiden, damit es mit .pdf endet, auch nicht besser.

Code: Alles auswählen
192-168-100-70-47dpnw65 192-168-100-70-47dpnw65 http://www.kanti-baden.ch/index.php?id=64&no_cache=1&download=20091110_TT_AZ.pdf&did=3 cannot load: not enqueued to indexer: not indexed any word in URL http://www.kanti-baden.ch/index.php?id=64&no_cache=1&download=2009


Da im Log nichts verwertbares stand, habe ich "yacy.logging" auf PARSER.level = FINE umgestellt, werde aber auch nicht schlauer
Code: Alles auswählen
I 2009/11/11 18:13:38 LOADER cache hit/stale for: http://www.kanti-baden.ch/index.php?id=64&no_cache=1&download=20090226_AZ_01.pdf&did=3
I 2009/11/11 18:13:38 BALANCER forcing crawl-delay of 908 milliseconds for www.kanti-baden.ch: minimumDelta = 0, timeSinceLastAccess = 16, flux = 0, robots.delay = 0, host.average = 462, top.size() = 0, delayed.size() = 0, domainStacks.size() = 1, domainStacksInitSize = 1
I 2009/11/11 18:13:38 LOADER cache hit/stale for: http://www.kanti-baden.ch/index.php?id=64&no_cache=1&download=20090604_AZ.pdf&did=3
I 2009/11/11 18:13:38 BALANCER forcing crawl-delay of 899 milliseconds for www.kanti-baden.ch: minimumDelta = 0, timeSinceLastAccess = 15, flux = 0, robots.delay = 0, host.average = 457, top.size() = 0, delayed.size() = 0, domainStacks.size() = 1, domainStacksInitSize = 1


Andere Startseite mit PDFs ohne Verwendung über das Typo3 Modul von oben:
Code: Alles auswählen
192-168-100-70-47dpnw65 192-168-100-70-47dpnw65 http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Entscheidungen%20Anmeldung_210409.pdf Parsing content with file extension 'pdf' and mimetype 'application/pdf' failed.; url = http://www.kanti-baden.ch/fileadmin/Download


oh, hier schreibt er jedoch fein was ins LogFile (freu)
Code: Alles auswählen
I 2009/11/11 18:23:05 BALANCER forcing crawl-delay of 766 milliseconds for http://www.kanti-baden.ch: minimumDelta = 0, timeSinceLastAccess = 16, flux = 0, robots.delay = 0, host.average = 391, top.size() = 1, delayed.size() = 0, domainStacks.size() = 2, domainStacksInitSize = 1
W 2009/11/11 18:23:06 StackTrace null
org.apache.pdfbox.exceptions.WrappedIOException
   at org.apache.pdfbox.util.PDFStreamEngine.<init>(PDFStreamEngine.java:137)
   at org.apache.pdfbox.util.PDFTextStripper.<init>(PDFTextStripper.java:129)
   at net.yacy.document.parser.pdfParser.parse(pdfParser.java:146)
   at net.yacy.document.TextParser.parseSource(TextParser.java:225)
   at net.yacy.document.TextParser.parseSource(TextParser.java:158)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1619)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1575)
   at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at net.yacy.kelondro.workflow.InstantBlockingThread.job(InstantBlockingThread.java:89)
   at net.yacy.kelondro.workflow.AbstractBlockingThread.run(AbstractBlockingThread.java:64)
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: org.pdfbox.util.operator.ShowTextGlyph cannot be cast to org.apache.pdfbox.util.operator.OperatorProcessor
   at org.apache.pdfbox.util.PDFStreamEngine.<init>(PDFStreamEngine.java:131)
   ... 17 more
W 2009/11/11 18:23:06 PARSER tried parser 'Acrobat Portable Document Parser' to parse http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf but failed: null; url = http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf
net.yacy.document.ParserException: null; url = http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf
   at net.yacy.document.parser.pdfParser.parse(pdfParser.java:157)
   at net.yacy.document.TextParser.parseSource(TextParser.java:225)
   at net.yacy.document.TextParser.parseSource(TextParser.java:158)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1619)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1575)
   at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at net.yacy.kelondro.workflow.InstantBlockingThread.job(InstantBlockingThread.java:89)
   at net.yacy.kelondro.workflow.AbstractBlockingThread.run(AbstractBlockingThread.java:64)
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
W 2009/11/11 18:23:06 PARSER Unable to parse 'http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf'. Parsing content with file extension 'pdf' and mimetype 'application/pdf' failed.
W 2009/11/11 18:23:06 PLASMA Unable to parse the resource 'http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf'. Parsing content with file extension 'pdf' and mimetype 'application/pdf' failed.; url = http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf
net.yacy.document.ParserException: Parsing content with file extension 'pdf' and mimetype 'application/pdf' failed.; url = http://www.kanti-baden.ch/fileadmin/Downloads_Public/PDF_Dokumente/Flyer/Flyer_NAWIMAT.pdf
   at net.yacy.document.TextParser.parseSource(TextParser.java:235)
   at net.yacy.document.TextParser.parseSource(TextParser.java:158)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1619)
   at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1575)
   at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at net.yacy.kelondro.workflow.InstantBlockingThread.job(InstantBlockingThread.java:89)
   at net.yacy.kelondro.workflow.AbstractBlockingThread.run(AbstractBlockingThread.java:64)
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: SVN 6473 - PDF - Parser

Beitragvon Orbiter » Do Jan 14, 2010 11:54 am

ich hab in den letzten Wochen einiges am Parser gebaut, speziell das Laden von http://www.kanti-baden.ch/fileadmin/Dow ... 210409.pdf hat jetzt funktioniert. Bitte ein re-test machen. (SVN 6583)
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: SVN 6473 - PDF - Parser

Beitragvon datenritter » Fr Jan 15, 2010 6:45 pm

6587

Scheinbar Exceptions beim Crawlen oder Parsen von PDFs:

Code: Alles auswählen
java.lang.Throwable: Warning: You did not close the PDF Document
        at org.apache.pdfbox.cos.COSDocument.finalize(COSDocument.java:411)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
I 2010/01/15 18:41:34 CRAWLER omitting de-queue/local: online caution: proxy
W 2010/01/15 18:41:34 StackTrace null
org.apache.pdfbox.exceptions.WrappedIOException
        at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:237)
        at net.yacy.document.parser.pdfParser.parse(pdfParser.java:97)
        at net.yacy.document.TextParser.parseSource(TextParser.java:230)
        at net.yacy.document.TextParser.parseSource(TextParser.java:163)
        at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1633)
        at de.anomic.search.Switchboard.parseDocument(Switchboard.java:1589)
        at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at net.yacy.kelondro.workflow.InstantBlockingThread.job(InstantBlockingThread.java:103)
        at net.yacy.kelondro.workflow.AbstractBlockingThread.run(AbstractBlockingThread.java:66)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.NoSuchElementException
        at java.util.AbstractList$Itr.next(AbstractList.java:350)
        at org.apache.pdfbox.pdfparser.PDFXrefStreamParser.parse(PDFXrefStreamParser.java:115)
        at org.apache.pdfbox.cos.COSDocument.parseXrefStreams(COSDocument.java:538)
        at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:203)
        ... 16 more
datenritter
 
Beiträge: 43
Registriert: So Sep 20, 2009 2:13 pm

Re: SVN 6473 - PDF - Parser

Beitragvon Orbiter » Sa Jan 16, 2010 11:46 am

der Fehler tritt innerhalb des pdfbox packages auf, hier http://issues.apache.org/jira/browse/PDFBOX-579 hat jemand ein änliches Problem, das ist reported letzten monat. Scheint noch nicht in unserer Version gefixt zu sein. Ich hab schon mal überlegt ob wir aus dem pdfbox svn ein eigenes Paket bauen sollen, aber das macht natürlich wieder extra Arbeit. Hab da jetzt nicht auf die Schnelle ein nightly build archiv gesehen. Ansonsten: hier kann man m.e. nach nichts auf Seite von YaCy machen, da braucht man ein Fix von pdfbox.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: SVN 6473 - PDF - Parser

Beitragvon Copro » Sa Feb 20, 2010 1:29 pm

Ich sehe diese Exceptions auch in meinen Logs.

Laut dem Eintrag auf der verlinkten Seite hier: ( http://issues.apache.org/jira/browse/PDFBOX-536 ) ist das in Version 1.0.0 gefixt die auch schon released wurde.
Ich habe mir das pre-built binary Paket angesehen und das sollte man einfach ersetzen können:
http://www.apache.org/dyn/closer.cgi/pd ... -1.0.0.jar
Oder sind da noch weitere Anpassungen vonnöten ?
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: SVN 6473 - PDF - Parser

Beitragvon Orbiter » Mo Feb 22, 2010 12:07 am

guter Hinweis, habe in SVN 6685 ein Update auf das neue pdfbox und die dazugehörige fontbox gemacht.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: SVN 6473 - PDF - Parser

Beitragvon Copro » Mo Feb 22, 2010 8:27 am

Okay - das Ersetzen hat problemlos geklappt und ich habe die neuen Versionen mit SVN 094/6688 getestet. Das Problem scheint nun auch behoben zu sein.

Ich sehe jedoch auf einem Linux Peer der nur mit Update geändert wurden weiterhin denselben Fehler.
yacy00.log.gz
pdfbox error on connectica peer after update to 6688
(9.6 KiB) 50-mal heruntergeladen

Der Peer hat auch noch folgende alte Libs auf dem Rechner:
PDFBox-0.7.3.jar
PDFBox-0.7.3.License
pdfbox-0.8.0-incubating.jar
pdfbox-0.8.0-incubating.License <-- Die Lizenz hat sich zwar nicht geändert aber die Datei habe ich in SVN 6689 geändert
pdfbox-1.0.0.jar

Aufgrund dieses Problems hier werden die alten Dateien nicht gelöscht - von daher vermute ich werden trotzdem irgendwie die Funktionen der alten jar Archive genutzt:
forum.yacy.de : YaCy Development > Bugs > Update übernimmt alte Systemdateien

Auf meinem lokalen Peer und dem Problempeer habe ich nach dem Herunterfahren die alten jar Archive (pdfbox-0.8.0-incubating.jar und PDFBox-0.7.3.jar und sicherheitshalber FontBox-0.1.0-dev.jar und fontbox-0.8.0-incubating.jar) gelöscht und bekomme nun keine Exceptions mehr beim Parsen bestimmter PDFs.
Zum Testen habe ich folgende Dateien verwendet:
http://www.uni-passau.de/fileadmin/doku ... _M_IEB.pdf
http://www.uni-passau.de/fileadmin/doku ... abinfo.pdf
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: SVN 6473 - PDF - Parser

Beitragvon Orbiter » Mo Feb 22, 2010 11:24 am

ja du hast recht das klappt nur richtig wenn Updates mit Löschungen einher gehen. Da das besser in den anderen Thread passt den zu zitiert hast, gehts dort weiter: viewtopic.php?p=19391#p19391
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 2 Gäste