1. 程式人生 > >PHP實現爬蟲

PHP實現爬蟲

文字資訊

我們嘗試獲取表的資訊,這裡,我們就用某校的課表來代替:
這裡寫圖片描述
接下來我們就上程式碼:

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

然後咱們就執行一下:
這裡寫圖片描述
成功獲取到課表;

圖片獲取

絕對連結

我們以百度相簿的首頁為例
這裡寫圖片描述
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>"; }

然後,我們就獲得了下面的頁面:
這裡寫圖片描述

相對連結

百度相簿的圖片的連結大部分是絕對連結,那麼當我們遇到網頁圖片為相對連結的時候,我們該怎麼處理呢?其實很簡單,我們只需要將迴圈那部分改為
這裡寫圖片描述
那麼我們就可以同樣在瀏覽器中輸出圖片了;


這裡寫圖片描述
掃碼關注作者個人技術公眾號,有關技術問題後臺回覆即可,不定期將有學習資源分享