1. 程式人生 > >php爬蟲教程(一) 簡單的頁面抓取

php爬蟲教程(一) 簡單的頁面抓取


最近朋友抓取點資料,寫了幾個抓取資料的指令碼。

主要功能是,分別抓起x了麼,美x,x度外賣的餐廳和菜品資料 ,後期我把程式碼分享出來。

今天就先說說簡單的頁面抓取

-------------------

php的抓取主要採用了 CURL一個非常強大的開源庫。可以自行百度一下。

// 1. 初始化
 $ch = curl_init();
 // 2. 設定選項,包括URL
 curl_setopt($ch,CURLOPT_URL,"http://www.ishenshou.cn");//我弄的一個小論壇 ==
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch,CURLOPT_HEADER,0);
 // 3. 執行並獲取HTML文件內容
 $output = curl_exec($ch);
 if($output === FALSE ){
 echo "CURL Error:".curl_error($ch);
 }
 // 4. 釋放curl控制代碼
 curl_close($ch);

這樣就可以簡單的把一個頁面全部的原始碼獲取過來,當然只是前端頁面的程式碼。


看過例子我想所有人應該都會覺得蠻簡單的,事實上也正是如此。

抓取一個頁面的資訊其實就是模擬訪問然後獲取它頁面上所有的資訊,通過正則表示式匹配出想要的資訊。

而有的平臺都是把資料通過json的方式直接傳送給前端,這樣對於抓取資料來說更加簡單 只要根據相應的介面規則發起請求就可以直接獲取json資料就不用正則匹配了。

x了麼,美x,x度外賣的餐廳資料都是通過介面直接獲取json抓到的 餐廳資訊是通過正則匹配的。

總結:首先你要知道正則表示式,然後你要知道curl的使用(最好有一個封裝好的curl的工具函式),最好有一個抓包工具我用的是火狐自帶的Firebug 就很好用