Ist es möglich, alle Seiten und Links auf einer bestimmten Website zu finden? Ich möchte eine URL eingeben und einen Verzeichnisbaum aller Links von dieser Site erstellen.
Ich habe mir HTTrack angesehen, aber das lädt die gesamte Site herunter und ich brauche einfach den Verzeichnisbaum.
directory
web-crawler
Jonathan Lyon
quelle
quelle
Antworten:
Check out linkchecker - Es wird die Site crawlen (während es gehorcht
robots.txt
) und einen Bericht erstellen. Von dort aus können Sie eine Lösung zum Erstellen des Verzeichnisbaums erstellen.quelle
robots.txt
Datei gibt, bedeutet dies nur, dass Sie nach Herzenslust kriechen können.Wenn Sie die Entwicklerkonsole (JavaScript) in Ihrem Browser haben, können Sie diesen Code eingeben:
Verkürzt:
quelle
$$
Betreiber? Oder ist das nur ein beliebiger Funktionsname, genauso wien=ABC(''a');
ich nicht verstehe, wieurls
alle mit 'a' gekennzeichneten Elemente abgerufen werden? Können Sie erklären? Ich gehe davon aus, dass es nicht jQuery ist. Welche Prototyp-Bibliotheksfunktion sprechen wir?$$()
ist im Grunde eine Abkürzung fürdocument.querySelectorAll()
. Weitere Informationen unter diesem Link: developer.mozilla.org/en-US/docs/Web/API/Document/…Eine andere Alternative könnte sein
Mit Ihrem ist es
$$(
noch kürzerquelle
Wenn dies eine Programmierfrage ist, würde ich vorschlagen, dass Sie Ihren eigenen regulären Ausdruck schreiben, um alle abgerufenen Inhalte zu analysieren. Ziel-Tags sind IMG und A für Standard-HTML. Für JAVA
Dies sollte zusammen mit Pattern- und Matcher-Klassen den Anfang der Tags erkennen. Fügen Sie ein LINK-Tag hinzu, wenn Sie auch CSS möchten.
Es ist jedoch nicht so einfach, wie Sie vielleicht ursprünglich gedacht haben. Viele Webseiten sind nicht gut geformt. Das programmgesteuerte Extrahieren aller Verknüpfungen, die der Mensch "erkennen" kann, ist wirklich schwierig, wenn Sie alle unregelmäßigen Ausdrücke berücksichtigen müssen.
Viel Glück!
quelle
versuchen Sie diesen Code ....
quelle