Crawler

UliWerz

Newbie
Registriert
Dez. 2021
Beiträge
5
Liebe alle,

ich bin Altertumswissenschaftler mit dem Schwerpunkt auf antiker Numismatik, bin im Niedersächsischen Landesamt für Denkmalpflege tätig und bearbeite seit Mitte 2017 die antiken Fundmünzen Niedersachsens. In diesem Zusammenhang habe ich eine Liste mit Links zu Literatur und Internetdatenbanken erstellt (https://www.academia.edu/45467050/L...nnover_2021_38_Seiten_DOI_10_11576_NLD_00008_).

Das kleine Heftchen ist CC BY lizensiert und kostenlos verfügbar.

Nun suche ich jemanden, der einen Crawler schreiben kann, welcher es ermöglicht, all diese Links nach einem bestimmten Stichwort zu durchsuchen und das Ergebnis in Listenform, ähnlich wie bei Suchabfragen mit Adobe Acrobat, auszugeben. Es sollte auch die Möglichkeit bestehen, nur eine Auswahl der vorhandenen Links durchsuchen und neue Links dem Crawler zufügen zu können.

Da die Datenbanken und Literatur in verschiedenen Sprachen erstellt wurden, muss der zu suchende Begriff bei der Abfrage zunächst in mehrere Sprachen übersetzt werden. Dies kann mit Hilfe des Vokabularservers Dante, der von der GVZ betrieben wird, geschehen. Der Crawler sollte möglichst unabhängig vom verwendeten Betriebssystem sein.

Sehr freuen würde ich mich, wenn jemand Interesse hätte einen solchen Crawler zu schreiben. Die Link- und Literaturliste wie auch der Crawler sollen dann im Internet veröffentlicht werden und kostenlos zugänglich sein.


Mit freundlichen Grüßen und herzlichem Dank

Uli Werz

E-Mail: fundnumismatik@gmail.com
 
  • Gefällt mir
Reaktionen: netzgestaltung
UliWerz schrieb:
bitte niemals deine emailadresse irgendwo klar sichtbar posten, wenn du sie nochmal nutzen willst. diese ist jetzt verbrannt.
Ich bin zwar weder WebDev noch Computerlinguist, habe aber mal in einer Threemagruppe, in der diverse Leute beides sind nachgefragt, ob da jemand was hat.

Da die Rückfrage komen wird: Welche tarifstufe?


alles in allem wirds aber darauf hinauslaufen:

Python:
import urllib
import re
page = urllib.urlopen("http://google.com").read()
page.find("Statue")

URLs kommen in eine Liste, die liest das Programm ein iund iteriert dann über alle adressen in der Liste.
 
Hallo Uli,

hier sehe ich generelle Schwierigkeiten. Die "Linkliste" ist eine pdf-Datei mit einer Unzahl von normalen Webseitenadressen, hinter denen jeweils grundlegend unterschiedliche Webapplikationen hängen, von denen manche ein - ebenfalls jeweils grundsätzlich unterschiedliches - "Suchfenster" anbieten und viele aber nicht mal das.

Um das zufriedenstellend zu lösen, bräuchte man enorme Ressourcen, wie sie beispielsweise Google oder Microsoft aufweisen. Einen irgendwie gearteten "Crawler" sehe ich hier noch lange nicht. Das hat vor allem damit zu tun, dass die gesuchten Informationen grundsätzlich in nicht-formalisierter Form über diese Seiten in einer Weise verteilt sind, die nicht vorhersehbar ist.
 
Lieber Madmax2010, lieber Captain,
danke für die Antworten.
Was die Email betrifft, so ist dies meine offizielle Mail-Adresse, die ich bereits an anderen Stellen öffentlich gemacht habe.
Wenn ein derartiger Crawler mit Python programmiert werden könnte, wäre das toll. Ich müsstet mir mitteilen, was ich im Gegenzug für Euch machen könnte. Was ich momentan nicht verstehe ist die "Tarifstufe". Was bedeutet das?

Dank, Gruß und Gesundheit
Uli Werz
 
UliWerz schrieb:
Gegenzug für Euch machen könnte. Was ich momentan nicht verstehe ist die "Tarifstufe". Was bedeutet das?
Bei der Fülle an Seiten und vor allem der (schlechten) Qualität eben dieser ist das eine Aufgabe für ein paar Monate mit voller Arbeitswoche. Je höher die Anforderungen an die Qualität der Datenabschöpfung ist und je höher die Anforderung an die Suche ist, desto eher verschiebt sich der Aufwand von Monate nach Jahre bis hin zum Daueraufwand zur Pflege eines solchen Systems.

Ein kleiner Hinweis am Rande, je nachdem was du alles crawlen willst sollte da auch ein mit IT & Urheberrecht komptenter Jurist befragt werden. Denn auch wenn die Münzen alt sind, die Datenbanken, Texte, Bilder etc. die du crawlen willst, sind in der Regel urheberrechtlich geschützt. Neben dem Urheberrecht sollte man dann noch darauf achten, mit Crawlern/Scrapern nicht übermäßig Last zu erzeugen.
 
  • Gefällt mir
Reaktionen: jlnprssnr
Danke für die Antwort Admiral.
Was meinst Du mit "der (schlechten) Qualität" der Seiten"? Beziehst Du Dich auf den Inhalt oder die Form? Es wäre mir sehr wichtig, dies zu erfahren, um Abänderungen vornehmen zu können.

Was die Urheberrechte / Copyrights / Nutzungsrechte betrifft, so kommt es zunächst darauf an, was ich mit den Abfrageergebnissen machen möchte. Ziel ist es ja, sich zunächst einen Überblick über bestimmte Themen zu verschaffen. Was eine mögliche Veröffentlichung betrifft, so ist dies m.E. bei (fast) allen Seiten geregelt.


Gruß
Uli
 
Das "Admiral" verpasst einem die Forensoftware, wenn man zu viel Zeit im Forum versenkt hat -.- Eine Anrede ist das nicht.

Beispiel:
https://cmc.byzart.eu/
Listet einzelne Elemente so auf:
1639925080733.png


Das HTML dazu schaut so aus:
Code:
<div class="item hentry">
    <h2><a href="/items/show/129846" class="permalink">[Untitled]</a></h2>
    <div class="item-meta">
        <div class="item-img">
        <a href="/items/show/129846"><img src="https://cmc.byzart.eu/files/thumbnails/unibo/unibo_europeana_archaeology/003_039_129846_01.jpg" alt="unibo/unibo_europeana_archaeology/GUA1200.tif" title="unibo/unibo_europeana_archaeology/GUA1200.tif"></a>    </div>
    
        <div class="item-description">
        Reliefs depicting feast scenes.     </div>
    
    
    
    </div><!-- end class="item-meta" -->
</div>

Es gäbe zwei Ansätze für Crawler und Datenauswertung. Einmal Crawler auf Seite werfen mit der Absicht Daten verschiednester Seiten möglichst strukturiert in einer eigenen Datenbank abzulegen. Da würde bei diesem Beispiel ein naiver Crawler sich die Überschrift (<h2>...</h2>) greifen und die darin enthaltenen Schlagworte als essentiell betrachten. In dem Fall ist das ein "[UNTITLED]" und damit maximal unbrauchbar. Vor allem weil dieses "untitled" zigfach vorkommt. Der nächste, naive Ansatz wäre sich das Bild zu schnappen und diesem anhand von Alt-Text und/oder Titel eine Beschreibung zuzuordnen. In dem Fall ist Alt-Text und Titel mit "unibo/unibo_europeana_archaeology/GUA1200.tif" komplett sinnlos. Die Einzige verwertbare Information befindet sich im div "item-description".

Soweit so gut. Da kann man einen Crawler schreiben bzw. konfigurieren, der damit klar kommt. Dann gehen wir mal aus Spaß auf Seite 1000 des Verzeichnisses https://cmc.byzart.eu/?page=1000
1639925814557.png


Die Überschrift enthält auf einmal Informationen zur Herkunft. Alt-Text und Titel des Bildes sind immer noch unbrauchbar, die Beschreibung des Objektes enthält weitere Informationen.
Den Crawler den wir vorher für alle "Unitled" Objekte angelegt haben, scheitert an der Stelle bereits oder muss mit deutlich mehr Logik versehen werden um allein die Inkonsistenz dieser zwei Objekte abzufangen und das nur für eine der (besseren) Seiten.
Oder aber, man verzichtet darauf eingesammelte Daten klar zu strukturieren, dann muss man aber zur Auswertung des eigenen Kataloges mit Volltext- und unscharfen Suchen hantieren.

So oder so wird das allerhand Aufwand und viel manuelle Fleißarbeit.

Und weiter zur Qualität, wenn man Seiten baut und von Suchmaschinen gefunden werden will, baut man Sitemaps (Link ), damit die Crawler der Suchmaschinenbetreiber es einfacher haben. Darauf verzichten bisher alle Seiten die ich mir angesehen habe. Der Aufwand wird dadurch auch nicht kleiner, genauso wie einige Seiten kein gescheites HTML ausliefern sondern zwingend Javascript brauchen und bei sowas komme ich ja auch ins Fluchen.


Und Urheberrecht, wenn du das im Rahmen deiner beruflichen Tätigkeit machst, bist du bereits aus der Privatnutzung raus. So ganz Ohne ist das nicht..
 
  • Gefällt mir
Reaktionen: jlnprssnr
Lieber Piktogramm, danke für die ausführliche Antwort.
Es geht mir aber nicht um eine Auswertung der Informationen, sondern darum, Informationen zu finden. Ähnlich wie ich mit AdobeAcrobat all meine PDF-Dateien nach einem bestimmten Sichtwort durchsuchen lassen kann und dann eine Liste mit den Dokumenten bekomme, die diese Stichworte enthalten.

Folgendes stelle ich mir vor: Gebe ich etwa "St. Nicholas Church" ein , erhalte ich eine Liste der Seiten auf denen der Begriff "St. Nicholas Church" enthalten ist. Z.B.:
Screenshot 2021-12-19 172917.jpg

https://cmc.byzart.eu/items/show/107506

https://cmc.byzart.eu/items/show/107505

https://cmc.byzart.eu/items/show/107504

Wie weit die einzelnen Ergebnisse nützlich oder brauchbar sind, muss ich dann in einem zweiten auswertenden Schritt selbst entscheiden. Vielleicht ist die Bezeichnung "Crawler" etwas irre führend und beinhaltet mehr als ich dachte. Sorry

Noch einmal zu den Rechten: Dieser Crawler soll von jedem verwendet werden können, der die Link- und Literaturliste heruntergeladen hat bzw. nutzt. Es soll dem Benutzer dadurch ein Werkzeug in die Hand gegeben werden, um die Datenflut strukturieren zu können. Somit führt jeder Benutzer die Suche für sich selbst durch.

Gruß
Uli
 
Wenn du den eingesammelten Datensatz veröffentlichen willst, dann hast du ein dickes Urheberrechtsproblem!

Bei der simpelsten Lösung einmal allen Text der Webseiten abgreifen, eine Volltextsuche auf alles werfen und dann Links auf Seiten ausgeben ist halt arg unbrauchbar. Es wäre Imho schon sinnvoll Voransichten/Anrisstexte zu liefern. Dazu braucht es strukturierte Daten und/oder Logik.
Oder das ganze wird eine Anwendung, die nur noch für Leute wie mich taugen, die die einen großen Teil Computerkram nur am Terminal erledigen.

Ein Vorschlag: Google Search API nutzen und damit experimentieren, ob du deine größere Auswahl an Seiten in die API kippen kannst um deine Suchanfragen entsprechend einzuschränken: https://developers.google.com/custom-search/v1/overview
Die Kosten sind im Zweifelsfall geringer als Entwickler, die das für dich umsetzen.
 
Liebe beide,
danke für die Antworten.
Ich habe nie gesagt, dass ich die Suchergebnisse veröffentlichen will; aber lassen wir das Thema Urheberrechte, zumal es sich nicht nur um deutsche Websites handelt.

Es wird wohl auf eine Volltextsuche hinauslaufen, aber damit ist schon sehr geholfen. Statt eines Begriffs kann ich ja auch nach Normdaten suchen (allerdings sind Thesauri und URI's noch sehr unvollständig und uneinheitlich). Ich werde immer qualitativ unterschiedliche Ergebnisse bekommen, die ich nacharbeiten muss. Keine Suchmaschine kann kontextualisieren!

Wenn ich alles richtig verstanden habe, so müssten die Anforderungen folgendermaßen lauten:
  • Programm zur Volltextsuche nach einem Schlagwort oder einer URI in allen Seiten und Unterseiten aus der Linkliste mit abschließender Anzeige der Ergebnisse als Liste.
  • Ein solches Suchprogramm könnte mit Python erstellt werden.

Ich werde mir den Yacy Crawler anschauen. Was die Google Search IP betrifft, so mag dies eine Lösung sein. Aber 1) möchte ich von Google weg und 2) soll das Ganze kostenlos sein genauso wie die Linkliste und die übrigen Arbeiten, die ich erstellt und unter CC BY weitergegeben habe.


Gruß
Uli
 
Zurück
Oben