Anzeige:
Ergebnis 1 bis 10 von 10

Thema: linktree.sh fertiggestellt: Tool zum analysieren von HP-Links

  1. #1
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828

    linktree.sh fertiggestellt: Tool zum analysieren von HP-Links

    Hallo mrunix-ler,

    endlich hab ich mein linktree-Script fertiggestellt. Mit diesem Script kann man schauen, wohin man überall kommt, wenn man auf einer Homepage startet. Das Script generiert eine HTML-Seite, auf welcher sämtliche Links in Form eines Baumes dargestellt sind. Das Script steht unter der GPL.

    Download unter: http://homepage.sunrise.ch/mysunrise...downloads.html

    Für weitere Informationen: script downloaden und "sh linktree.sh --help" eintippen - und schon erscheint eine Anleitung.

    Ich würde mich über Rückmeldungen und Verbesserungsvorschläge riesig freuen - vor allem, wenn jemand eine Idee hätte, wie man das ganze beschleunigen könnte.

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Hallo Bischi.
    Das Script ist recht nützlich. Was allerdings total stoert, ist, dass
    nach dem Ausfuehren der Browser mit der Ergebnisliste aufgerufen wird.

    Das stoert doch ziemlich.
    Ansonsten funktionierts wunderbar.

    Gruß
    Kai

    PS: Wie waers z.B. mit $durchsuchte-seite_$suchtiefe.html anstatt von result.html?

  3. #3
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von `kk
    Hallo Bischi.
    Das Script ist recht nützlich.
    Gut, wenn es nützlich ist. War eigentlich eher als Unterhaltung gedacht
    Das allerdings total stoert, ist, dass
    nach dem Ausfuehren der Browser mit der Ergebnisliste aufgerufen wird.
    Ist ein Feature - nicht ein Bug . Könnte aber eine interne Konfigurations-Variable am Anfang machen, in der du das abstellen kannst.
    Ansonsten funktionierts wunderbar.
    Bis auf dass es ziemlich langsam ist...
    PS: Wie waers z.B. mit $durchsuchte-seite_$suchtiefe.html anstatt von result.html?
    Die Idee ist gut - das werd ich ändern!

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Zitat Zitat von bischi
    Gut, wenn es nützlich ist. War eigentlich eher als Unterhaltung gedacht
    Nuetzlich als Zeitvertreib.

    Ist ein Feature - nicht ein Bug . Könnte aber eine interne Konfigurations-Variable am Anfang machen, in der du das abstellen kannst.
    Ja, schon klar. Bitte eine Option zum Anschalten, nicht zum Abschalten.
    D.h.: Standardmäßig bitte aus.

    Gruß
    Kai

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.06.2005
    Ort
    Darmstadt
    Beiträge
    59
    schönes skript.

    jetzt kann ich endlich der frage nachgehen, ob das internet zusammenhängend ist, d.h. ob eine homepage (ich nenne sie mal formal inkorrekt wurzel) existiert, von der aus ich über einen beliebig langen umweg zu jeder anderen seite komme

    nein, im ernst. 2 verbesserungsvorschläge hätte ich noch:
    1. es werden verknüpfungen zu allen dateiendungen ausgegeben. es wäre doch schön, wenn man über einen parameter (verkettete liste, o.ä.) vorgeben könnte, daß z.b. nur html, css, etc. dateien ausgegeben werden.
    ein praktischer nutzen wäre beispielsweise, daß man sich auf einen klick speicherorte der neuen stromberg-staffel-videos anzeigen lassen könnte.
    2. wäre es nützlich, wenn man die suche auf eine domäne einschränken könnte. wenn man z.b. bei ... hmm ... nehmen wir mal www.ebay.de nur links zu seiten anzeigen lassen, die wiederum zu ebay führen und nicht zu irgendwelchen werbeseiten, etc.

    (dies ist natürlich nur als konstruktiver vorschlag für jemanden mit viel zeit gedacht )

    ciao,
    benjamin

    edit:
    mit dem laufzeitverhalten habe ich eigentlich keine probleme. im grunde kann es bei dir ja nur an zwei dingen liegen:
    1. deine internetverbindung ist zu langsam. wenn das skript so funktioniert wie ich es geschrieben hätte, baust du eine verbindung zur anfangsseite auf, durchsuchst diese nach anderen .html-dateien und führst das rekursiv mit jeder gefundenen unterseite durch, bis die vorgegebene suchtiefe erreicht wurde (DFS-algo).
    falls das der fall ist, überleg dir, daß alleine das verbindung aufbauen - daten empfangen - verbindung schließen sehr zeitaufwändig ist. (das halte ich für die wahrscheinlichste erklärung). eine möglichkeit den ablauf zu beschleunigen wäre mit threads zu programmieren. (beispielsweise für jede zu durchsuchende seite einen neuen prozess des eigenen programms zu erzeugen) hat allerdings den nachteil, daß die liste der links nicht geordnet ist ...
    [... das kann man noch beliebig weiterspinnen ...]
    2. ein programm zu interpretieren ist (damit erzähle ich bestimmt nichts neues) weitaus aufwändiger als ein in maschinensprache vorliegendes programm auszuführen. bei neueren computerm (takt > 300MHz) sollte das aber kein problem sein. beschleunigen könnte man die ausführung indem man das programm kompiliert. (google dazu mal nach 'sh2bin')
    Geändert von BinEinGast (30-10-2005 um 23:05 Uhr)
    +++ this message is printed on 100% recycled electrons +++

  6. #6
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von BinEinGast
    schönes skript.
    Danke!
    1. es werden verknüpfungen zu allen dateiendungen ausgegeben. es wäre doch schön, wenn man über einen parameter (verkettete liste, o.ä.) vorgeben könnte, daß z.b. nur html, css, etc. dateien ausgegeben werden.
    ein praktischer nutzen wäre beispielsweise, daß man sich auf einen klick speicherorte der neuen stromberg-staffel-videos anzeigen lassen könnte.
    Die Idee ist gut - werd ich wohl mal implementieren, wenn ich Zeit dazu habe... (Studium hat wieder begonnen )
    2. wäre es nützlich, wenn man die suche auf eine domäne einschränken könnte. wenn man z.b. bei ... hmm ... nehmen wir mal www.ebay.de nur links zu seiten anzeigen lassen, die wiederum zu ebay führen und nicht zu irgendwelchen werbeseiten, etc.

    (dies ist natürlich nur als konstruktiver vorschlag für jemanden mit viel zeit gedacht )
    Naja - das Problem sind dann mehr diese "PHP"-links - sonst ginge das relativ einfach... (dh: einfach nur lokale Links nehmen...)

    Zu der Laufzeit:
    An der Internetverbindung liegts nicht - wohl eher am angesprochenen Anfordern,... Der PC ist auch genügend schnell. Ich war mehr auf der Suche nach einer Verbesserung meines Algorithmus / verschnellerung von wget-Aufrufen,...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161
    Tja, unter "linktree" kann man ganz unterschiedliche Sachen verstehen:
    http://www.philippwesche.org/old1/cm.html

    MfG,

    Samsara
    .
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

  8. #8
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Tja - so kanns gehen; Hat jemand nen besseren Namen dafür?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  9. #9
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161
    Zitat Zitat von bischi
    Tja - so kanns gehen; Hat jemand nen besseren Namen dafür?

    MfG Bischi
    Ich finde eigentlich, der Name passt ganz gut. Wollte das spaeter auch mal testen.

    Samsara
    .
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

  10. #10
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161
    Hallo nochmal Bischi.

    Erstmal hier eine kleiner bug report:
    Code:
    http://www.philippwesche.org/2004/writing/#gellmann94/index.html
    [37 weitere]
    http://www.philippwesche.org/2004/writing/#westlivelyread99/index.html
    Anchor links sollten fuer Deine Zwecke schlichtweg ignoriert werden!

    Desweiteren denke ich, dass es in reinem Perl deutlich performanter waere. Vielleicht schreibe ich bei Gelegenheit mal eine Implementierung.

    Du koenntest Dich prinzipiell auch der verschiedenen Parameter von wget bedienen, z.B.
    Code:
    wget -rkl 3 http://meinesite.de/foo.php
    -r fuer rekursiv, -k fuer convert-links und -l fuer die Tiefe.

    Bug Nr. 2: Was auch noch fehlt, ist eine intelligente Loesung fuer Loops im Baum - aus meiner result.html:
    Code:
    # http://www.philippwesche.org/2004/profile.html
    
        * http://www.philippwesche.org/2004/cv.html
        * http://www.philippwesche.org/2004/dc.html
        * http://www.philippwesche.org/2004/ad.html
    
    # http://www.philippwesche.org/2004/writing/es.html
    
        * http://www.philippwesche.org/2004/writing/../cv.html
        * http://www.philippwesche.org/2004/writing/../dc.html
        * http://www.philippwesche.org/2004/writing/../ad.html
    Vielleicht waere es auch ein Ansatz, das Log von wget auszulesen (log mit "wget foo.de -o logfile") und da mit Iteration oder Rekursion etwas zu drehen, so im Sinne von
    Code:
    for ((a = 2; a < ($maxdepth+1); a++));do wget -r -l $a http://meinesite.de/foo.php -o log$a.txt;done
    (Moeglichst nur bei geringen Tiefen (< 5 wuerde ich mal sagen) oder grosser Bandwidth)

    Ein aehnlicher Ansatz waere, immer -l 1 (oder ist das dann 2?) zu setzen und dann die Links mit regexp extrahieren und nochmal fuer jeden Link das gleiche, bis die Rekursionstiefe erreicht ist. Ich glaube, Dein Programm verfaehrt momentan so?

    Ich denke, ich persoenlich taete mich mit bash schwerer als mit Perl, aber da scheiden sich bekanntlich die Geister.

    Samsara
    .
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •