随着时代的发展,社会越来越信息快速化,所以信息更新非常的迅速,这让很多站长在更新自家的网站信息时,显得太浪费时间,该怎么办呢?那就是通过采集将别家的信息录入到自家网站的数据库中,这样做可能对网站的优化会有一定的影响,但这不是我们今天讨论的话题,今天就用一个示例简单讲一下网站采集的的过程
我们先来看下面的一个实例,这是客户的网站要求采集太平洋网站的新闻,代码如下图所示(附说明):
header("content-type:text/html;charset=utf-8");//
curl_setopt($ch, CURLOPT_URL, $url);//将为一个CURL会话设置选项。CURLOPT_URL参数是你想要的设置, 这是你想用PHP取回的URL地址,$url是这个选项给定的值
河南网站建设公司价格,品牌型网站建设价格,商城网站建设价格,响应式网站建设价格,河南网站设计制作
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);//如果有证书的https的,除去https里面的s,此句非常重要,不可删除,否则带有https的站点将无法打开
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//所获的内容不输出
$data=curl_exec($ch);//将页面的内容赋于$data,即$data就是我们打开网页后的内容代码
$data=iconv('gbk', 'utf-8',$data);//防止中文的乱码,做转码处理
curl_close($ch);//关闭cURL 会话
咱们先打开太平洋新闻网,然后查看网页源代码,找到要采集的信息内容,截图下图:
河南网站建设公司价格,品牌型网站建设价格,商城网站建设价格,响应式网站建设价格,河南网站设计制作
根据上面的代码,我们可以写一个正则表达:
$path = '#
#is'; preg_match_all($path,$data,$arr);//正则匹配,其中$path是匹配的规则,$data是想要匹配的内容,$datapath给定正则表达式 的匹配结果并且将它们以flag指定顺序输出到$arr中.
$array = array();//初始化一个数组
foreach($arr as $k=>$v){
if($k==3||$k==4||$k==5||$k==6||$k==9){ //想要的参数有哪些
河南网站建设公司价格,品牌型网站建设价格,商城网站建设价格,响应式网站建设价格,河南网站设计制作
$array = array_values($array);//重置数组key,让数组的key从0开始计算,也可以不重置,但不要弄错
$array[0] 是信息的图片绝对地址的数组
河南网站建设公司价格,品牌型网站建设价格,商城网站建设价格,响应式网站建设价格,河南网站设计制作
$array[1] 是信息链接地址的数组
$array[3] 是信息列表简介的数组
Print_r($array);根据输入的数组信息就知道如何把数据添加到数据库了,然后根据url再采集信息里面的详细内容,以达到采集整条信息的完整性
河南亿宏世纪网络科技有限公司,专注于互联网+品牌整合营销,公司拥有专业的互联网管理、运营策划、UI设计、技术开发等团队,专业从事于工业互联网的开发建设。我司拥有成熟的网络技术开发团队,针对网站开发、技术服务、网站风格定位、网站功能优化、网站推广维护等都具备很强的专业技术水平,旨在为客户提供专业的互联网应用解决方案。公司始终秉持着诚信经营、质量为先的经营理念,我们不仅提供优质的网络技术和云端供应链服务,而且还在产品的选择、应用等方面提供专业的咨询与售后服务。