PHP加JavaScript爬取網頁內容,超實用簡易教程
阿新 • • 發佈:2019-02-12
php+js爬取網頁內容—–先看下效果
如何做到的呢?
我們一直以為只有Python才能爬取網頁內容,那是因為Python本身集合很多類庫用來爬取網頁很方便,但是我們使用PHP+js的方法一樣很方便,一樣可以拿到我們想要的網頁內容,而且也不用很繁瑣。
首先我們需要PHP來模擬請求獲取整個網站的HTML
// 允許所有域訪問
header("Access-Control-Allow-Origin: *");
// 接收一個引數,引數名叫parm
$parm=$_GET['mod'];
if (empty($parm)) {
$url = 'http://m.80s.tw/';//目標網站
$html = file_get_contents($url);
}else{
$url = 'http://m.80s.tw/'.$parm;
$html = file_get_contents($url);
}
preg_match("/<body[^>]*?>(.*\s*?)<\/body>/is",$html,$match1);//正則匹配body裡面的內容
echo $match1[0];//輸出網頁
注意:如果遇到 file_get_contents報錯請嘗試在 php.ini中找到extension=php_openssl.dll 開啟就OK了
然後就是前端來獲取資料進行處理了
首先寫個非同步請求
$.ajax({
type:'get',
url: '.././admin/test.php',
success: function(data) {
console.log(data)//可以看到獲取的HTML,很簡單吧,很興奮吧
}
});
獲取HTML後我們就可以隨心所欲了
怎麼來使用這些HTML呢?這是問題嗎?不是
//首先建立一個容器
var div = document.createElement('div' );
// 把整個html的字串存到這個div節點裡
div.innerHTML = data;
//然後就可以對div一頓檢查了
//比如獲取類list_mov_title下所有的a標籤
var list = div.querySelectorAll('.list_mov_title a');
//趕緊打印出來看一下
console.log(list)
//想要的東西都在吧
//然後就把想要的東西往自己的頁面裡面塞吧