溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP如何實現(xiàn)爬蟲

發(fā)布時間:2020-07-20 09:25:09 來源:億速云 閱讀:110 作者:Leah 欄目:編程語言

本篇文章為大家展示了PHP如何實現(xiàn)爬蟲,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

文字信息

我們嘗試獲取表的信息,這里,我們就用某校的課表來代替:

PHP如何實現(xiàn)爬蟲

接下來我們就上代碼:

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);

然后咱們就運行一下:  

PHP如何實現(xiàn)爬蟲

成功獲取到課表;

圖片獲取

絕對鏈接

我們以百度圖庫的首頁為例
PHP如何實現(xiàn)爬蟲
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([^>]*)\s*src=('|\")([^'\"]+)('|\")/", 
                    $string,$matches);    $new_arr=array_unique($matches[3]);     foreach($new_arr as $key){ 
        echo "<img src=$key>";
     }

然后,我們就獲得了下面的頁面:
PHP如何實現(xiàn)爬蟲

相對鏈接

百度圖庫的圖片的鏈接大部分是絕對鏈接,那么當(dāng)我們遇到網(wǎng)頁圖片為相對鏈接的時候,我們該怎么處理呢?其實很簡單,我們只需要將循環(huán)那部分改為
PHP如何實現(xiàn)爬蟲

那么我們就可以同樣在瀏覽器中輸出圖片了;

上述內(nèi)容就是PHP如何實現(xiàn)爬蟲,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI