为了账号安全,请及时绑定邮箱和手机立即绑定

php中cURL类的使用笔记

标签:
PHP

php中对cURL类使用的实例
require 'connect.php';//数据库连接
header('content-type:text/html; charset=utf-8');
function caijingNews(){
$url='http://www.yuncaijing.com/insider/simple.html';//采集地址
$ch=curl_init($url);//初始化curl
//下面curl_setopt()就是开始设置
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//1 curl_exec()获取的信息以字符串返回
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0');//http请求中包含User-Agent 火狐 ps:我之前没设置正确的user-agent老是被禁ip
$content=curl_exec($ch);//执行抓取任务,获取整个网页内容
curl_close($ch);
$content=str_replace('云财经讯,',' ',$content);//将‘云财经讯,’替换成目标字符串 因为涉及到版权信息归属问题,所以将其替换,安全第一

$data1=array();
$pattern1='/nc-con.*?href="(.*?)".*?title="(.*?)"/s';//抓取目标标题规则
preg_match_all($pattern1,$content,$matches);//正则表达式匹配函数
for($j=0;$j<count($matches);$j++){//遍历匹配到的数据
    $data1=$matches[$j];
}
$data2=array();
$pattern2='/(?<=<\/h4>).*?(?=<)/s';//抓取目标内容规则
preg_match_all($pattern2,$content,$matches);
for($i=0;$i<count($matches);$i++){
    $data2=$matches[$i];
}

$data=array();
foreach ($data1 as $k=>$v){//将两个一维数组合成一个相关的二维数组(一个标题对应一个内容)
    $arr=array('title'=>$v,'content'=>$data2[$k]);
    $data[]=$arr;
}
return $data;

}
$result=caijingNews();//采集结果(二维数组)
for($k=0;$k<count($result);$k++){//将采集结果遍历循环输出写入数据库,数据库中title设为唯一值,防止数据重复录入
$title=$result[$k]['title'];
$content=trim($result[$k]['content']);
$sql="insert into msg (title,content) values ('$title','$content')";
$connect->query($sql);
$j++;
}
抓取的结果显示为:
Array
(
[0] => Array
(
[title] => 大盘预测神器:两大神秘指标提前预判大盘下跌
[content] => 趋势领航者和神秘资金在4月7日发出的卖出信号形成了共振,图表上就是时间与空间交汇形成拐点,触发下跌!截止今天(4月12日),两市指数再度出现中度调整,进一步验证模型的有效性!!
)

[1] => Array
    (
        [title] => 吉比特预计一季度净利润同比增加173%至 209%
        [content] =>  吉比特预计2017年第一季度实现归属于上市公司股东的净利润约为1.5亿元至 1.7亿元,与 2016 年第一季度相比增加173%至 209%,与2016年第四季度相比增加21%至37%。                                                                                    
    )

[2] => Array
    (
        [title] => 嘉寓股份:13日开市起继续停牌
        [content] =>  嘉寓股份:4月6日因雄安新区投资事项收监管函并停牌后,目前还在准备就监管函的相关事项进行回复,股票自13日开市起继续停牌。                                                                                    
    )

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消