服務熱線
15617359779
15617359779
抓取小說內(nèi)容,就是抓取網(wǎng)站的文字內(nèi)容,和抓取圖片等其他網(wǎng)站內(nèi)容方法都是一樣的,我們拿筆趣閣做個簡單的例子:
https://www.52bqg.com/modules/article/search.php?searchkey=
這個是筆趣閣網(wǎng)站搜索書的地址searchkey= 后面加關鍵詞,我們以關鍵詞‘天下’為例,我們發(fā)送的時候也應該urlencode一下。
1
但是我發(fā)現(xiàn)我的發(fā)送參數(shù)和原網(wǎng)站的不一樣 我的是:%E5%A4%A9%E4%B8%8B。
這個應該是編碼問題我的是utf-8 查看筆趣閣發(fā)現(xiàn)是gdk,所以我們應該也要轉(zhuǎn)成gdk編碼的
3
urlencode(iconv('utf-8', 'gb2312', $BookName));//將utf轉(zhuǎn)成gd3212
function search_book($bookName){
// $url_book='https://www.52bqg.com/modules/article/search.php?searchkey='.urlencode($bookName);
$url_book='https://www.52bqg.com/modules/article/search.php?searchkey='. urlencode(iconv('utf-8', 'gb2312', $bookName));
//dump($url_book);
河南網(wǎng)絡推廣,河南網(wǎng)絡營銷,seo公司,河南百度優(yōu)化,河南網(wǎng)站優(yōu)化,河南全網(wǎng)營銷
$ch = curl_init();
$this_header = array(
"content-type: application/x-www-form-urlencoded;
charset=gbk"
);
curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header);//定義頭部
curl_setopt ($ch, CURLOPT_URL,$url_book);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,20);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //必須添加,不加訪問不了https( ssl證書)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//同上
$err=curl_error($ch);
河南網(wǎng)絡推廣,河南網(wǎng)絡營銷,seo公司,河南百度優(yōu)化,河南網(wǎng)站優(yōu)化,河南全網(wǎng)營銷
$res = curl_exec($ch);
dump($res);exit;
curl_close($ch);
return $res;
}
獲取內(nèi)容后查找抓取的頁面內(nèi)容:
4
發(fā)現(xiàn)亂碼了,所以還是編碼問題要將gdk轉(zhuǎn)回utf-8:
$res=mb_convert_encoding($res, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');//使用該函數(shù)對結(jié)果進行轉(zhuǎn)碼
內(nèi)容抓取到我們就要提取我們需要的內(nèi)容:
比如這個目錄搜索結(jié)果,可直接用正則提取這個樣式下的內(nèi)容,也可以更細致的提取每一個的內(nèi)容
查看網(wǎng)站結(jié)果 發(fā)現(xiàn) s1 (小說類型) ,s2(小說名-鏈接) ,s3(最新章節(jié)),
河南網(wǎng)絡推廣,河南網(wǎng)絡營銷,seo公司,河南百度優(yōu)化,河南網(wǎng)站優(yōu)化,河南全網(wǎng)營銷
s4(作者),s5(更新時間),s7(狀態(tài))
用正則把每個內(nèi)容都取出來:
$rule="/.*?<\/span>/is";//小說類型
$rule2="/.*?<\/span>/is";//小說名
$rule3="/.*?<\/span>/is";//最新章節(jié)
$rule4="/.*?<\/span>/is";//作者
$rule5="/.*?<\/span>/is";//更新時間
$rule6="/.*?<\/span>/is";//狀態(tài)
$url_rule='/(?<=href=\")[^\"]+(?=\")/';//書籍鏈接
$news_html='';
/*獲取內(nèi)容*/
preg_match_all($rule,$html,$news_html['type']);
河南網(wǎng)絡推廣,河南網(wǎng)絡營銷,seo公司,河南百度優(yōu)化,河南網(wǎng)站優(yōu)化,河南全網(wǎng)營銷
preg_match_all($rule2,$html,$news_html['name']);
preg_match_all($rule3,$html,$news_html['news']);
preg_match_all($rule4,$html,$news_html['author']);
preg_match_all($rule5,$html,$news_html['time']);
preg_match_all($rule6,$html,$news_html['status']);
這是我們自己的前端展示的內(nèi)容.
獲取數(shù)據(jù)分頁 后面加上page參數(shù)就可以了;具體方法都是一樣的,就是很繁瑣,可以根據(jù)結(jié)構(gòu)優(yōu)化一下正則.
然后上面獲取了書籍的鏈接,就可以用同樣的流程獲取書籍的封面,章節(jié)等信息。所以想白嫖又不想看垃圾廣告還是要花的時間去弄的,后期有時間可以將數(shù)據(jù)記錄在自己的數(shù)據(jù)庫.防止網(wǎng)站改版被封.
河南億宏世紀網(wǎng)絡科技有限公司,專注于互聯(lián)網(wǎng)+品牌整合營銷,公司擁有專業(yè)的互聯(lián)網(wǎng)管理、運營策劃、UI設計、技術開發(fā)等團隊,專業(yè)從事于工業(yè)互聯(lián)網(wǎng)的開發(fā)建設。我司擁有成熟的網(wǎng)絡技術開發(fā)團隊,針對網(wǎng)站開發(fā)、技術服務、網(wǎng)站風格定位、網(wǎng)站功能優(yōu)化、網(wǎng)站推廣維護等都具備很強的專業(yè)技術水平,旨在為客戶提供專業(yè)的互聯(lián)網(wǎng)應用解決方案。公司始終秉持著誠信經(jīng)營、質(zhì)量為先的經(jīng)營理念,我們不僅提供優(yōu)質(zhì)的網(wǎng)絡技術和云端供應鏈服務,而且還在產(chǎn)品的選擇、應用等方面提供專業(yè)的咨詢與售后服務。