Heim  >  Artikel  >  Backend-Entwicklung  >  Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

烟雨青岚
烟雨青岚nach vorne
2020-07-16 13:49:483664Durchsuche

Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

Textinformationen

Wir versuchen, die Tischinformationen zu erhalten. Hier verwenden wir den Stundenplan eines bestimmten Schule stattdessen:

Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

Als nächstes gehen wir zum Code:

a.php

 <?php  header( "Content-type:text/html;Charset=utf-8" ); 
$ch = curl_init();        $url ="表的链接";
        curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36" );
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        $content=curl_exec($ch);
        preg_match_all("/<td rowspan=\"\d\">(.*?)<\/td>\n<td rowspan=\"\d\">(.*?)<\/td><td rowspan=\"\d\" align=\"\w+\">(.*?)<\/td><td rowspan=\"\d\" align=\"\w+\">(.*?)<\/td><td>(.*?)<\/td>\n<td>(.*?)<\/td><td>(.*?)<\/td>/",$content,$matchs,PREG_SET_ORDER);//匹配该表所用的正则
        var_dump($matchs);

Dann lass es uns ausführen:

Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

Der Stundenplan wurde erfolgreich abgerufen

Bilderfassung

Absoluter Link

Nehmen wir als Beispiel die Homepage der Baidu Gallery
Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen
b.php

  <?php  header( "Content-type:text/html;Charset=utf-8" );  


    $ch = curl_init();    $url="http://image.baidu.com/";
    curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36" );
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    $content=curl_exec($ch);    $string=file_get_contents($url); 
    preg_match_all("/<img ([^ alt="Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen" >]*)\s*src=(&#39;|\")([^&#39;\"]+)(&#39;|\")/", 
                    $string,$matches);    $new_arr=array_unique($matches[3]);     foreach($new_arr as $key){ 
        echo "<img  src=$key alt="Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen" >";
     }

Dann erhalten wir Folgendes Seite:
Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

Relativer Link

Die meisten Links zu Bildern in der Baidu-Galerie sind absolute Links, wenn wir also auf Webseitenbilder stoßen Das sind relative Links zur Zeit. Wie sollen wir damit umgehen? Tatsächlich ist es sehr einfach, den Schleifenteil in
Nehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen

zu ändern. Dann können wir das Bild auch im Browser ausgeben Ich hoffe, dass alle davon profitieren.

Empfohlenes Tutorial: „

PHP-Tutorial

Das obige ist der detaillierte Inhalt vonNehmen Sie sich zehn Minuten Zeit, um den Prozess der Implementierung eines Crawlers in PHP zu verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen