首页 / 搜索推广 / 怎么用php抓取网站小说内容(怎么用php抓取网站小说文件)

怎么用php抓取网站小说内容(怎么用php抓取网站小说文件)

Time:2024-08-11 13:16:18 Read:616 作者:CEO

抓取**内容就是抓取网站的文字内容。抓取图片和其他网站内容的方法是一样的。我们以**为例:

怎么用php抓取网站小说内容(怎么用php抓取网站小说文件)

这是**网站上搜索书籍的地址searchkey=后面是关键字。我们以关键词“天下”为例。我们在发送的时候也应该对其进行urlencode。

但我发现我的发送参数和原来网站的不一样。我的是:%E5%A4%A9%E4%B8%8B。

这应该是编码问题。我的是utf-8。经过检查,发现是gdk,所以我们也应该将其转换为gdk编码。

urlencode(iconv('utf-8','gb',$BookName));//将utf转换为gd

functionsearch_book($bookName){

//$url_book=''.urlencode($bookName);

$url_book=''.urlencode(iconv('utf-8','gb',$bookName));

//转储($url_book);

$ch=curl_init();

$this_header=数组(

'内容类型:application/x-www-form-urlencoded;

字符集=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

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);//同上

$err=curl_error($ch);

$res=curl_exec($ch);

转储($res);退出;

卷曲_关闭($ch);

返回$res;

}

获取内容后查找爬取的页面内容:

发现字符出现乱码,所以还是编码问题,只好将gdk转回utf-8:

$res=mb_convert_encoding($res,'UTF-8','UTF-8,GBK,GB,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['新闻']);

preg_match_all($rule4,$html,$news_html['author']);

preg_match_all($rule5,$html,$news_html['时间']);

preg_match_all($rule6,$html,$news_html['status']);

这是我们自己的前端显示的。

要获取数据的分页,只需添加page参数即可;具体方法是一样的,但是很麻烦。您可以根据结构优化正则规则。

那么在获取到上述书籍的链接后,就可以使用同样的流程来获取该书的封面、章节等信息。所以如果你想免费做但又不想看到垃圾广告,还是得花时间去做。以后有时间的话,可以将数据记录到自己的数据库中,防止网站修改后被屏蔽。

Copyright © 2002-2024 搜索推广资讯网 版权所有 备案号: 渝ICP备2023006154号-7

免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)