抓取小说内容,就是抓取网站的文字内容,和抓取图片等其他网站内容方法都是一样的,我们拿笔趣阁做个简单的例子:

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);

河南网站建设选择亿宏世纪.5年来持续为众多企业提供河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销.

河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销

$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);

河南网站建设选择亿宏世纪.5年来持续为众多企业提供河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销.

河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销

$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(最新章节),

河南网站建设选择亿宏世纪.5年来持续为众多企业提供河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销.

河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销

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']);

河南网站建设选择亿宏世纪.5年来持续为众多企业提供河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销.

河南网络推广,河南网络营销,seo公司,河南百度优化,河南网站优化,河南全网营销

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参数就可以了;具体方法都是一样的,就是很繁琐,可以根据结构优化一下正则.

然后上面获取了书籍的链接,就可以用同样的流程获取书籍的封面,章节等信息。所以想白嫖又不想看垃圾广告还是要花的时间去弄的,后期有时间可以将数据记录在自己的数据库.防止网站改版被封.

河南亿宏世纪网络科技有限公司,专注于互联网+品牌整合营销,公司拥有专业的互联网管理、运营策划、UI设计、技术开发等团队,专业从事于工业互联网的开发建设。我司拥有成熟的网络技术开发团队,针对网站开发、技术服务、网站风格定位、网站功能优化、网站推广维护等都具备很强的专业技术水平,旨在为客户提供专业的互联网应用解决方案。公司始终秉持着诚信经营、质量为先的经营理念,我们不仅提供优质的网络技术和云端供应链服务,而且还在产品的选择、应用等方面提供专业的咨询与售后服务。

微信服务号

微信服务号

服务热线

15617359779

15617359779