抓取小说内容,就是抓取网站的笔墨内容,和抓取图片等其他网站内容方式都是一样的,我们拿笔趣阁做个大略的例子:
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
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;
}
得到内容后查找抓取的页面内容:
发现乱码了,以是仍是编码结果要将gdk转回utf-8:
$res=mb_convert_encoding($res, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');//把持该函数对结果制止转码
内容抓取到我们就要提取我们需要的内容:
比如这个目次搜索结果,可直接用正则提取这个名目下的内容,也能够更留心的提取每一个的内容
检察网站结果 发现 s1 (小说范例) ,s2(小说名-链接) ,s3(最新章节),
s4(作者),s5(更新时光),s7(情况)
用正则把每一个内容都掏出来:
$rule="/
.*?<\/span>/is";//小说范例
$rule2="/.*?<\/span>/is";//小说名
$rule3="/.*?<\/span>/is";//最新章节
$rule4="/.*?<\/span>/is";//作者
$rule5="/.*?<\/span>/is";//更新时光
$rule6="/.*?<\/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参数就能够了;详细方式都是一样的,就是很啰嗦,高端建网站公司,能够凭据布局优化一下正则.
然后下面得到了书本的链接,就能够用一样的流程得到书本的封面,章节等信息。以是想白嫖又不想看渣滓告白仍是要花的时光去弄的,前期有时光能够将数据纪录在自己的数据库.防止网站改版被封.