怎么用php抓取網站小說

2023-03-16    分類: 網站建設

抓取小說內容,就是抓取網站的文字內容,和抓取圖片等其他網站內容方法都是一樣的,我們拿筆趣閣做個簡單的例子:
https://www.52bqg.com/modules/article/search.php?searchkey=

這個是筆趣閣網站搜索書的地址searchkey= 后面加關鍵詞,我們以關鍵詞‘天下’為例,我們發送的時候也應該urlencode一下。
但是我發現我的發送參數和原網站的不一樣 我的是:%E5%A4%A9%E4%B8%8B。

這個應該是編碼問題我的是utf-8 查看筆趣閣發現是gdk,所以我們應該也要轉成gdk編碼的
urlencode(iconv('utf-8','gb2312',$BookName));//將utf轉成gd3212

functionsearch_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;
}
獲取內容后查找抓取的頁面內容:

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

內容抓取到我們就要提取我們需要的內容:
比如這個目錄搜索結果,可直接用正則提取這個樣式下的內容,也可以更細致的提取每一個的內容
查看網站結果 發現 s1 (小說類型) ,s2(小說名-鏈接) ,s3(最新章節),

s4(作者),s5(更新時間),s7(狀態)
用正則把每個內容都取出來:
$rule="/<spanclass=\"s1\".*?>.*?<\/span>/is";//小說類型
$rule2="/<spanclass=\"s2\".*?>.*?<\/span>/is";//小說名
$rule3="/<spanclass=\"s3\".*?>.*?<\/span>/is";//最新章節
$rule4="/<spanclass=\"s4\".*?>.*?<\/span>/is";//作者
$rule5="/<spanclass=\"s5\".*?>.*?<\/span>/is";//更新時間
$rule6="/<spanclass=\"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參數就可以了;具體方法都是一樣的,就是很繁瑣,可以根據結構優化一下正則.

網頁題目:怎么用php抓取網站小說
網頁路徑:http://m.kartarina.com/news39/244889.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣、Google、網站導航、網站維護、電子商務營銷型網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
主站蜘蛛池模板: 亚洲中文字幕无码久久| 亚洲中文无码卡通动漫野外| 国产精品无码一区二区三区不卡 | 少妇无码太爽了在线播放| 亚洲欧洲日产国码无码久久99| 亚洲精品无码少妇30P| 日韩精品无码一区二区三区AV| 亚洲av无码不卡久久| 一本一道AV无码中文字幕| 亚洲a∨无码一区二区| 无码国产色欲XXXX视频| 午夜成人无码福利免费视频| 50岁人妻丰满熟妇αv无码区| 中文字幕乱偷无码AV先锋| 国产成人无码午夜视频在线观看| 少妇无码AV无码专区在线观看| 国产成人无码A区在线观看视频| 亚洲AV日韩AV无码污污网站| 无码中文字幕乱在线观看| 亚洲精品无码av人在线观看| 日韩久久无码免费毛片软件| 国产精品无码一区二区三区不卡| 亚洲无码一区二区三区| 精品国精品无码自拍自在线| 精品深夜AV无码一区二区| 亚洲精品无码久久久久| 狠狠噜天天噜日日噜无码| 西西4444www大胆无码| 性色AV无码中文AV有码VR| 亚洲AV无码AV日韩AV网站| 人妻丰满熟AV无码区HD| 亚洲AV无码资源在线观看| 国产怡春院无码一区二区| 全免费a级毛片免费看无码| 日韩视频无码日韩视频又2021| 色综合久久久无码中文字幕波多 | 精品久久久无码人妻字幂| 亚洲AV无码XXX麻豆艾秋| 无码不卡中文字幕av| 成人免费无码精品国产电影| 无码 免费 国产在线观看91|