国产女人被狂躁到高潮小说,亚洲日韩一区二区三区,色窝窝无码一区二区三区成人网站 ,丰满岳乱妇在线观看中字无码

400-800-9385
網站建設資訊詳細

怎么用php抓取網站小說

發表日期:2020-05-30 11:05:45   作者來源:旺   瀏覽:6275   標簽:php,網站小說    
抓取小說內容,就是抓取網站的文字內容,和抓取圖片等其他網站內容方法都是一樣的,我們拿筆趣閣做個簡單的例子:
https://www.52bqg.com/modules/article/search.php?searchkey=
這個是筆趣閣網站搜索書的地址searchkey= 后面加關鍵詞,我們以關鍵詞‘天下’為例,我們發送的時候也應該urlencode一下。

1

 
但是我發現我的發送參數和原網站的不一樣 我的是:%E5%A4%A9%E4%B8%8B。
 

 
這個應該是編碼問題我的是utf-8 查看筆趣閣發現是gdk,所以我們應該也要轉成gdk編碼的

3

 
 
urlencode(iconv('utf-8', 'gb2312', $BookName));//將utf轉成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);
       $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);
        $res = curl_exec($ch);
        dump($res);exit;
        curl_close($ch);
       
        return $res;
}
 
獲取內容后查找抓取的頁面內容:
 

4

 
發現亂碼了,所以還是編碼問題要將gdk轉回utf-8:
$res=mb_convert_encoding($res, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');//使用該函數對結果進行轉碼
 
內容抓取到我們就要提取我們需要的內容:

比如這個目錄搜索結果,可直接用正則提取這個樣式下的內容,也可以更細致的提取每一個的內容
查看網站結果 發現 s1 (小說類型) ,s2(小說名-鏈接) ,s3(最新章節),
s4(作者),s5(更新時間),s7(狀態)

 
用正則把每個內容都取出來:
$rule="/<span class=\"s1\".*?>.*?<\/span>/is";//小說類型
        $rule2="/<span class=\"s2\".*?>.*?<\/span>/is";//小說名
        $rule3="/<span class=\"s3\".*?>.*?<\/span>/is";//最新章節
        $rule4="/<span class=\"s4\".*?>.*?<\/span>/is";//作者
        $rule5="/<span class=\"s5\".*?>.*?<\/span>/is";//更新時間
        $rule6="/<span class=\"s7\".*?>.*?<\/span>/is";//狀態
        $url_rule='/(?<=href=\")[^\"]+(?=\")/';//書籍鏈接
        $news_html='';
         /*獲取內容*/
        preg_match_all($rule,$html,$news_html['type']);
        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']);
 
這是我們自己的前端展示的內容.

 
獲取數據分頁  后面加上page參數就可以了;具體方法都是一樣的,就是很繁瑣,可以根據結構優化一下正則.

 
 
然后上面獲取了書籍的鏈接,就可以用同樣的流程獲取書籍的封面,章節等信息。所以想白嫖又不想看垃圾廣告還是要花的時間去弄的,后期有時間可以將數據記錄在自己的數據庫.防止網站改版被封.
如沒特殊注明,文章均為方維網絡原創,轉載請注明來自http://www.sdlwjx666.com/news/5695.html