[PHP] Suchemaschinen txt erstellen?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von eTax, 7. Februar 2011 .

Schlagworte:
  1. 7. Februar 2011
    Suchemaschinen txt erstellen?

    Guten Tag die Herrschaften,

    also folgende Frage:

    Wie ist es möglich, bzw. weiß jemand von euch, wie man einen robot/crawler etc. erstellen kann, der nach gewissen / spezifischen Dateien, Formaten etc. sucht.

    - also im endeffekt eine art suchmaschine. --> ist da ein robot geeignet oder muss man da schon eher ein programm schreiben?!

    Es soll keine umfassende "suchmaschine" sein, sondern nur nach max. 5 Sorten von Dateien einer Homepage,derer Unterordner, sowie Verzeichnisse durchsuchen.


    Für Hilfen / Anregungen etc. wäre ich euch sehr dankbar!


    eTax
     
  2. 7. Februar 2011
    AW: Suchemaschinen txt erstellen?

    Hey,

    du wirst wohl keine andere Möglichkeit haben, als nen ganz normalen Crawler zu bauen, der Webseiten durchsucht auf denen Dateien verlinkt sind. Wenn eine Typ deiner Anforderung entspricht kann er diese Datei speichern, bzw den Link in einer Datenbank ablegen.

    Für nen Crawler zu bauen arbeitest du am besten mit fsockopen.

    Habe hier noch ein Beispiel gefunden, hatte früher mal nen kompletten Robot gebaut, hier ist der Auschnitt, der die HTTP-Anfragen verschickt:

    PHP:
    set_time_limit ( 10 );

    $ip  $argv [ 1 ];
    $path  $argv [ 2 ];
    $host  $argv [ 3 ];
    $port  $argv [ 4 ];
    //fwrite(STDERR, ".");
    if( $host == "" $host = $ip ;
    if(!(
    $v =@ fsockopen ( $ip $port , $errno , $errstr , 5 ))) {
        return 
    false ;
    }
    stream_set_timeout ( $v , 10 );
    //fwrite(STDERR, ".");
    $header   "GET " . $path . " HTTP/1.1" . "\r\n" ;
    $header  .=  "Host: " . $host . "\r\n" ;
    $header  .=  "User-Agent: Invenio Robot Alpha\r\n" ;
    $header  .=  "Connection: close\r\n" ;
    $header  .=  "\r\n" ;
    //fwrite(STDERR, ".");
    fwrite ( $v $header );
    $out = "" ;
    //fwrite(STDERR, ".");
    while(! feof ( $v ) &&  strlen ( $out ) <=  524288 ) {
        
    //fwrite(STDERR, "-");
        
    $out .= fgets ( $v 128 );
    }
    //fwrite(STDERR, ".");
    //fwrite(STDERR, "\n");
    echo  $out ;

    Gruß Blackbird89
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.