Crawl auf Startseiten beschränken

Keine Scheu, hier darf alles gefragt und diskutiert werden. Das ist das Forum für YaCy-Anfänger. Hier kann man 'wo muss man klicken' fragen und sich über Grundlagen zur Suchmaschinentechnik unterhalten.
Forumsregeln
Hier werden Fragen beantwortet und wir versuchen die Probleme von YaCy-Newbies zu klären. Bitte beantwortete Fragen im YaCy-Wiki http://wiki.yacy.de dokumentieren!

Crawl auf Startseiten beschränken

Beitragvon hotel24 » Di Jan 22, 2013 1:51 pm

Hi,

ich möchte eine Liste mit 20.000 unterschiedlichen Urls indizieren (ausschließlich Startseiten), also zB
http://www.domain1.com
http://www.domain2.com
http://www.domain3.com
....

Dazu habe ich nun in "Crawl Start (Expert)" ein File angegeben und die Crawlingtiefe auf 0 eingestellt. Daraufhin werden aber nicht nur die Urls in der Liste indiziert, sondern auch andere Urls (andere Domains, robots.txt-Seiten, etc.).

Meine Fragen dazu:
1) Was muss ich einstellen, damit exakt die 20.000 in der Datei angegebenen Urls indiziert werden und nichts anderes sonst?
2) Kann man irgendwo sehen, was bei jeder Url gefunden wurde? (also zB "200 ok", oder "404 not found", "301 moved", etc.)
3) Wie viele Urls können maximal in der Datei angegeben werden?
4) Besteht die Möglichkeit, einen erneuten Crawl auf nur zB alle "404 not found"-Seiten zu beschränken und zB die "200 ok"-Seiten unverändert im Index zu belassen?

Vielen Dank, wär wirklich super, wenn mir jemand helfen könnte.

LG
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon Copro » Mi Jan 23, 2013 12:35 am

Soweit ist das eigentlich das richtige Vorgehen und ich würde sagen das sollte genau so klappen ...
Ich habe das ebenfalls gerade ausprobiert und ich habe auf der Seite für den Crawl Start (Experte) die URLs der Domänen einfach in das Eingabefeld kopiert mit einer Domäne pro Zeile.
Bei 20000 Links ist das natürlich besser aus einer Datei heraus - von daher sollte auch das kein Problem sein und das Format der Datei habe ich genauso benutzt und einfach pro Zeile eine URL.
Damit die robots.txt nicht indexiert wird habe ich diese zusätzlich im Must-Not-Match Filter: angegeben.

Hier z.B. das Ergebnis für http://www.google.de im Host Browser bei dem nur das Hauptdokument indexiert wurde:
YaCy_google.png
YaCy Host Browser für http://www.google.de
YaCy_google.png (43.11 KiB) 3153-mal betrachtet


Ist zwar nur 50% aber hier die Antworten im Überblick:
1) Was muss ich einstellen, damit exakt die 20.000 in der Datei angegebenen Urls indiziert werden und nichts anderes sonst?
1.A) Bei mir wurde jeweils genau die Startseite indexiert und mit dem Ausschluss der robots.txt sollte auch diese Datei nicht auftauchen

2) Kann man irgendwo sehen, was bei jeder Url gefunden wurde? (also zB "200 ok", oder "404 not found", "301 moved", etc.)
2.A) Ja, aktuell sehr übersichtlich im Host Browser

3) Wie viele Urls können maximal in der Datei angegeben werden?
3.?) Ich denke da gibt es kein Limit das ich direkt angeben könnte. Wenn Deine Maschine bzw. der Arbeitsspeicher der YaCy Instanz ausreicht kann man sicher noch weit mehr als 20000 Einträge in die Liste packen.

4) Besteht die Möglichkeit, einen erneuten Crawl auf nur zB alle "404 not found"-Seiten zu beschränken und zB die "200 ok"-Seiten unverändert im Index zu belassen?
4.?) Im Host Browser kann man sich die Liste aller fehlgeschlagenen Crawls / Host zwar anzeigen lassen - aber eine einfache Möglichkeit genau diese "404 not found"-Seiten erneut crawlen zu lassen wüsste ich nicht. Vielleicht kann ja jemand anderes weiterhelfen.
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Mi Jan 23, 2013 2:47 pm

Vielen Dank für die Antworten, das hilft mir sehr weiter! :)

Durch mehrere Tests erscheint es mir so, als ob der Crawler bei einer "301 Weiterleitung" nicht die angegebene Starturl, sondern die über die Weiterleitung aufgerufene Seite indiziert. Dies hat mich offensichtlich eingangs verwirrt, da ich dachte, dass dazu Crawling Depth 1 notwendig wäre. Daher sind wohl auch Urls im Index aufgetaucht, die nicht in meiner Urlliste eingetragen sind.

Die robots.txt wird scheinbar standardmäßig bei jeder Url aufgerufen und wird diese dann, wenn vorhanden, ebenfalls indiziert? Denn bei einem Test mit 1000 Urls waren letztendlich 1.376 Urls im Index, trotz Crawling Depth 0.

Mit der Liste von 20.000 Urls treten 2 unterschiedliche Ergebnisse auf: Manchmal hängt sich das System auf, manchmal funktioniert das Crawling, aber es werden nur rd. die Hälfte der Seiten indiziert.
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon Orbiter » Mi Jan 23, 2013 3:18 pm

hotel24 hat geschrieben:Die robots.txt wird scheinbar standardmäßig bei jeder Url aufgerufen und wird diese dann, wenn vorhanden, ebenfalls indiziert? Denn bei einem Test mit 1000 Urls waren letztendlich 1.376 Urls im Index, trotz Crawling Depth 0.


Die robots.txt wird nicht bei jeder URL sondern bei jedem neuen Host geladen. Wenn deine Liste nur verschiede Hosts hat, dann wohl hier bei jeder URL.
Sie wird aber nicht indexiert! Die robots.txt landet in einer anderen Datenbank.

Mehr Seiten im Index kann sein, denn es werden auch Fehlerseiten und Weiterleitungen rein geschrieben. Diese werden aber bei einer Suche ausgeblendet. Es ist aber auffällig, dass hier so viele extradokumente sind, da könnte noch irgendwo was faul sein. Kannst du rausbekommen was im Index ist und da nicht sein soll?
Rufe mal folgendes auf:
/solr/select?q=*:*&start=0&rows=100&fl=sku
da hast du eine Auswahl von 100 URLs aus deinem Index. Kannst du da Auffälligkeiten finden?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Mi Jan 23, 2013 4:11 pm

Ich habe nun folgende Abfrage /solr/select?q=*:*&start=0&rows=100&fl=sku gemacht ("robots.txt" beim Must-Not-Match Filter wurde nicht angegeben), bzw. habe ich dann die rows gleich mal auf 2000 eingestellt und gleich alle Ergebnisse angesehen und dann gleich auch mal den httpstatus_i mit abgefragt (also /solr/select?q=*:*&start=0&rows=2000&fl=sku,httpstatus_i).

Es sind sehr viele 404er im Ergebnis, alles robots.txt-Pages sowie viele -1er (heißt das: keine Serverantwort?). Und dann gibt es noch vereinzelte 301er, 403er, 503er, etc. D.h., die 376 zusätzlichen Urls im Index sind scheinbar nicht gefundene robots.txt. Um diese Vermutung zu bestätigen habe ich jetzt noch folgende Abfrage gemacht: /solr/select?q=httpstatus_i:404%20AND%20sku:*robots*&start=0&rows=2000&fl=httpstatus_i,sku. Und es sind tatsächlich 377 Treffer (wo der eine zusätzliche Treffer herkommt hab ich jetzt auf die schnelle nicht rausbekommen ;) ).

Dass diese nicht gefundenen robots.txt-Seiten in den Index gelangen verwirrt mich zwar etwas, aber nun kenn ich mich aus. Ich werde wie zu Beginn vorgeschlagen beim Must-Not-Match Filter die robots.txt ausschließen und dann sollte alles passen. :)
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Mi Jan 23, 2013 4:24 pm

Ich habe nun beim Must-Not-Match Filter folgendes eingetragen:
on URLs for Crawling: .*robots.txt.*
on URLs for Indexing: .*robots.txt.*

Damit bin ich ausgegangen, dass nun die robots.txt-Pages nicht mehr im Index aufscheinen. Aber die nicht gefundenen robots.txt-Pages werden unverändert indiziert. Was mache ich hier falsch?
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Mo Jan 28, 2013 4:02 pm

Mein Resümee der bisherigen Versuche:

- Im (solr)Index befinden sich sowohl gefundene Seiten als auch alle Fehlerseiten.
- robots.txt-Seiten können generell nicht von Crawling und Indizierung ausgeschlossen werden (also auch nicht mit einem Eintrag im Must-Not-Match Filter)
- Gefundene robots.txt-Seiten werden in einem anderen Index abgelegt.
- Nicht gefundene robots.txt-Seiten wiederum landen im (solr)Index.
- Die Anzahl der via File übergebenen Start Urls ist dzt. mit rd. 10.000 Stück begrenzt.

Sind meine Annahmen korrekt? Wär super, wenn mir jemand Feedback geben könnte.
Danke!
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon Orbiter » Mo Jan 28, 2013 5:51 pm

hotel24 hat geschrieben:- Im (solr)Index befinden sich sowohl gefundene Seiten als auch alle Fehlerseiten.

richtig, sie haben eine Marktierung mit dem http response code und die YaCy Suche zeigt aber nur solche an die fehlerfrei gefunden wurden. Die fehlerbehafteten Seiten sind im Index, aber das sind minimaleinträge und dienen der Dokumentation dass diese Seiten bereits versucht wurden zu laden.

hotel24 hat geschrieben:- robots.txt-Seiten können generell nicht von Crawling und Indizierung ausgeschlossen werden (also auch nicht mit einem Eintrag im Must-Not-Match Filter)

Das verstehe ich nicht, robots.txt Seiten werden nicht geladen um indexiert zu werden und wenn sie im Index landen, dann waren sie verlinkt. Das sind robots.txt Seiten normalerweise nicht. Wenn sie verlinkt wurden, können sie auch vom Must-Not-Match ausgeschlossen werden. Es kann aber nicht verhindert werden dass sie geladen und beachtet werden.

hotel24 hat geschrieben:- Gefundene robots.txt-Seiten werden in einem anderen Index abgelegt.

fast richtig, sie werden in einer extra Datenbank abgelegt aber nicht indexiert. Die werden natürlich abgespeichert damit sie vom Crawler beachtet werden können.

hotel24 hat geschrieben:- Nicht gefundene robots.txt-Seiten wiederum landen im (solr)Index.

sollte nicht so sein. nicht gefundene robots.txt Seiten sollten lediglich zu einem Eintrag in der robots.txt Datenbank führen (einem leeren Eintrag).

hotel24 hat geschrieben:- Die Anzahl der via File übergebenen Start Urls ist dzt. mit rd. 10.000 Stück begrenzt.

richtig das war so, hab ich aber eben auf 10 mio erhöht, aber nicht getestet. Bin gespannt ob das funktioniert oder irgendwo knallt...


Bitte gib mal ein konkretes Beispiel an wo eine robots.txt indexiert wurde, bzw. gefunden oder nicht im solr landet, dann gucke ich mal nach wie es dazu kommt.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawl auf Startseiten beschränken

Beitragvon crawlnew » Di Jan 29, 2013 8:52 am

Gute Nachricht! Welche Version ist das? Für Mac, Win, Linux?
crawlnew
 
Beiträge: 14
Registriert: Mi Okt 08, 2008 8:55 am

Re: Crawl auf Startseiten beschränken

Beitragvon Orbiter » Di Jan 29, 2013 11:05 am

für alle, einfach die aktuelle Version aus dem auto-updater ziehen /ConfigUpdate_p.html
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawl auf Startseiten beschränken

Beitragvon crawlnew » Di Jan 29, 2013 4:48 pm

:) Scheint zu gehen... Datei mit 53000 URLs indiziert. (Windows 7)
crawlnew
 
Beiträge: 14
Registriert: Mi Okt 08, 2008 8:55 am

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Di Jan 29, 2013 5:00 pm

Danke für die Antworten und das Update! :)

Hier ein Beispiel zur robots.txt-Situation:

- In Crawl Start (Expert) folgende Url eingegeben: http://www.alles-wird-gut.co.at/ (Werter Betreiber bitte um Nachsicht, dass Deine Seite hier nach dem Zufallsprinzip zu Testzwecken herangezogen wird ;) )
- Crawl mit Standardeinstellungen durchgeführt
- Im Creation Monitor wird 1 indizierte Seite angegeben
- im robots.txt Monitor steht der hostname und modDate
- die solr-Abfrage /solr/select?q=*:*&start=0&rows=100 ergibt 2 Ergebnisse, die Seite http://www.alles-wird-gut.co.at/ mit httpstatus_i=200 sowie die Seite http://www.alles-wird-gut.co.at/robots.txt mit httpstatus_i=404
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Do Feb 07, 2013 1:40 pm

Wenn man über solr alle erfolgreich indizierten Webpages durchsuchen will, muss man die Abfrage mittels /solr/select?q=httpstatus_i:200 einschränken. Dann passt alles.

Nun stellt sich für mich noch eine andere Frage. Ich möchte exakt jene URLs indizieren, die ich im File angegeben habe. Das funktioniert auch gut. In weiterer Folge möchte ich diese Seiten nun nur alle 7 Tage auf Änderungen überprüfen. Dazu habe ich im Bereich "Document Double-Check" die Checkbox "Re-load" mit 7 Tage markiert. Das Problem ist allerdings, dass diese Regel nicht für die Start-URLs angewendet wird. D.h. in meinem Falle werden trotz dieser Einstellung alle URLs jedes Mal frisch indiziert. Gibt es eine Möglichkeit, diese Einstellung irgendwo zu ändern?

Abgesehen davon, was passiert, wenn eine erfolgreich aufgenommene Seite im Zuge des nächsten Durchlaufes nicht mehr vorhanden ist und zb einen 410er zurückliefert. Werden die ursprünglich indizierten Inhalte dann gelöscht? Gibt es evtl. die Möglichkeit, dass der ursprünglich indizierte Inhalt bestehen bleibt und die Seite erst dann aus dem Index fällt, wenn diese zB 3 Mal hintereinander eine Fehlerseite zurückliefert?

PS: Ein kleiner Punkt ist mir nebenbei aufgefallen. Wenn man "Use filter" auswählt, dann deaktivieren sich die Checkboxen "Delete sub-path" und "Delete only old". Erst wenn man mit der Maus ins Feld "Use filter" klickt, werden die Checkboxen wieder aktiv.
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Crawl auf Startseiten beschränken

Beitragvon Orbiter » Do Feb 07, 2013 9:34 pm

hotel24 hat geschrieben:In weiterer Folge möchte ich diese Seiten nun nur alle 7 Tage auf Änderungen überprüfen. Dazu habe ich im Bereich "Document Double-Check" die Checkbox "Re-load" mit 7 Tage markiert. Das Problem ist allerdings, dass diese Regel nicht für die Start-URLs angewendet wird. D.h. in meinem Falle werden trotz dieser Einstellung alle URLs jedes Mal frisch indiziert.

diese Beobachtung ist richtig; es wäre ja blöd wenn man dem Crawler eine URL gibt und der dann sagt "mimimi, ich weiss es besser und weigere mich erst mal das überhaupt zu laden". Deswegen wir die übergebene URL schon mal prinzipiell geladen.

hotel24 hat geschrieben:Gibt es eine Möglichkeit, diese Einstellung irgendwo zu ändern?

nein. Du rufst das ja explizit auf weil du das willst. Wenn du eine 7-Tage-Regel für die übergebenen URLs willst, darfst du die selber erst nach sieben Tagen wirder dort als Crawl start einstellen.

hotel24 hat geschrieben:Abgesehen davon, was passiert, wenn eine erfolgreich aufgenommene Seite im Zuge des nächsten Durchlaufes nicht mehr vorhanden ist und zb einen 410er zurückliefert. Werden die ursprünglich indizierten Inhalte dann gelöscht?

Ja und Nein. Dafür gibt es die beiden Regeln "Document Deletion" und "Document Double-Check". Bei "Document Deletion" wird einfach alles, was du vor X tagen (das stellst du ein) erfasst hast gelöscht. Bei "Document Double-Check" wird alles was zum neuen Ladezeitpunkt X Tage alt ist als nicht-Double erkannt und neu geladen. Was du brauchst, ist der erste Punkt ("Document Deletion") um alle Dokumente, die nicht mehr existieren vor dem Crawl zu löschen. Falls sie dann noch existieren, werden sie neu erfasst.

hotel24 hat geschrieben:Gibt es evtl. die Möglichkeit, dass der ursprünglich indizierte Inhalt bestehen bleibt und die Seite erst dann aus dem Index fällt, wenn diese zB 3 Mal hintereinander eine Fehlerseite zurückliefert?

Nein, aber das wäre ja auch nur sinnvoll wenn die Seite eine merkwürdige Verfügbarkeit hätte. Der Fall "Document Deletion" mit einem anständigen Zeitintervall (z.B. 1 Monat) wäre hier was angemessenes.

hotel24 hat geschrieben:PS: Ein kleiner Punkt ist mir nebenbei aufgefallen. Wenn man "Use filter" auswählt, dann deaktivieren sich die Checkboxen "Delete sub-path" und "Delete only old". Erst wenn man mit der Maus ins Feld "Use filter" klickt, werden die Checkboxen wieder aktiv.

ja hier stimmt noch was nicht. Es hat damit zu tun dass ein Deletion bei Sub-Path nicht sinnvoll ist, wenn es keinen Sub-Path gibt. Aber die Logik ist hier noch nicht ganz vollständig, muss man überlegen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawl auf Startseiten beschränken

Beitragvon hotel24 » Fr Feb 08, 2013 4:18 pm

Vielen Dank für die ausführlichen Anworten!

Klingt für mich alles logisch, wie YaCy die Punkte behandelt. (Bei mnogosearch läuft es ein wenig anders, daher muss ich mich erst umgewöhnen ;) )

Aber eines verstehe ich leider noch nicht ganz. Wenn die Start-URL sowieso bei jedem Crawlingdurchgang neu indiziert wird, warum sollte diese mit "Document Deletion" zuvor gelöscht werden? Die Seite wird ja so und so neu indiziert und liefert entweder ein vorhandenes Dokument oder eine Fehlerseite zurück. Oder ist das nur in meiner Situation ein spezieller Fall, weil ich Crawlingtiefe 0 verwende und der Einsatz von "Document Deletion" macht erst ab Crawlingtiefe 1 Sinn?

Meine Idealvorstellung zur Erstellung eines Verzeichnisses sieht so aus:
1. Ausschließlich vorgegebene URLs aus Liste indizieren
2. Regelmäßige Aktualisierung, zB Recrawl alle 7 Tage
3. Wenn Fehlerseite zurückgeliefert wird, alten Seiteninhalt behalten (weil evtl. wichtig für Verzeichnis und nur zufällig gerade nicht erreichbar)
4. Dokument erst als Fehlerseite ablegen wenn zB 3x nicht verfügbar.

Evtl. irgendeine Idee, wie Pkt. 3 und 4 realisierbar wären?
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm


Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron