這邊說明如何用PHP網路爬蟲將資料抓下來
一般網路上大部分都是教用Python套件
但其實不需要
爬蟲概念說明
幾本上就是把網路上你要的資料抓下來
最簡單的就是整個網頁原始碼抓下來
但是會包含你不需要的資料
這時就是再用文字處理去切掉你不要的部分
最後將你要的存起來
我的步驟
1.將資料抓下來
2.文字處理留下要的部分
3.將資料存進SQL(或其他地方)
1.將資料抓下來
這邊提供一段程式碼
使用file_get_contents()取得網頁後存到檔案
之後用fopen寫入檔案
裡面的usleep($delaytime);是為了避免使用迴圈抓網頁時太頻繁被ban
function spider($filename) {
$html = file_get_contents("https://".$filename."");
$fp = fopen("./temp/".$filename.".html",'w');
if(!$fp)echo "寫入錯誤<br>";
flock($fp,LOCK_EX);
fwrite($fp,$html,strlen($html) );
flock($fp,LOCK_UN);
fclose($fp);
echo "寫入成功".filesize("./temp/".$filename.".html")."<br>";
$delaytime=rand(50,420);
usleep($delaytime);
}
2.文字處理留下要的部分
使用 explode($str ,$html);切出要的部分
需要使用一些判斷式子去處理文字檔案
可能要切蠻多次的
$html = file_get_contents("../temp/".$filename.".html");
$str = "</td><td class=\"R\">";
$temp = explode($str ,$html);
3.將資料存進SQL(或其他地方)
這邊我是將切完的資料先顯示出來到網頁上變成表格
確認沒問題後就可以加程式存到SQL
或是直接複製表格到excel也是個方式
以上就是PHP爬蟲的概念