yemoecom 发表于 2019-1-7 17:08

火车头采集新浪新闻php插件

本帖最后由 yemoecom 于 2019-1-7 17:13 编辑

前几天看了下demo!比较简单就发下!新浪的新闻接口可以自己抓下包这里贴上插件

新闻列表地址:https://news.sina.com.cn/roll/?qq-pf-to=pcqq.group#pageid=153&lid=2968&k=&num=50&page=1

<?php
function curl_sina($url){
    $header = array (
0 => 'Accept: */*',
1 => 'Accept-Encoding: gzip, deflate, br',
2 => 'Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
3 => 'Connection: keep-alive',
4 => 'Host: feed.mix.sina.com.cn',
5 => 'Referer: https://news.sina.com.cn/roll/?qq-pf-to=pcqq.group',
6 => 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0 FirePHP/0.7.4',
7 => 'x-insight: activate',
);
    $postData = '';
    // $cookie = 'Cookie: UOR=,news.sina.com.cn,; ULV=1545891095102:2:2:2:10.71.2.95_1545891091.345391:1545891089621; SINAGLOBAL=10.71.2.95_1545891091.345389; Apache=10.71.2.95_1545891091.345391; NEWSCENTER=78565b88b160488188f3c4bb7622647b; lxlrttp=1545098194'; //需要cookie的话去掉这行的注释
    $timeout = 10;

    $ch= curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);       //返回数据不直接输出
    curl_setopt($ch, CURLOPT_ENCODING, "gzip");      //指定gzip压缩
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    //302/301
    //SSL
    if(substr($url, 0, 8) === 'https://') {
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
      //error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)解决
      //值有0-6,请参考手册,值1不行试试其他值
      //curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    }
    //post数据
    if(!empty($postData)) {
      curl_setopt($ch, CURLOPT_POST, 1);               //发送POST类型数据
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); //POST数据,$post可以是数组(multipart/form-data),也可以是拼接参数串(application/x-www-form-urlencoded)
    }
    if(!empty($cookie)) {
      $header[] = $cookie;
    }
    if(!empty($header)) {
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);   //使用header头信息
    }
    //超时时间
    curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
    //执行
    $content = curl_exec($ch);
    if($error = curl_error($ch)) {
      //log error
      error_log($error);
    }
    curl_close($ch);

    // $content 是请求结果
return $content;
}


//$u='https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid=2510&k=&num=50&page=1';
if($LabelArray['PageType']=='List'){         
      $content=curl_sina($LabelUrl); //获取到的当前列表源码内容
      $resarr = json_decode($content, true);
$resdata = $resarr['result']['data'];
$us='';
foreach($resdata as $k => $v){
      $us.='<b>'.$v['url'].'</b>';
      $LabelArray['Html']='str'.$us.'go';
}

}
//$LabelArray['Html']=curl_sina($LabelUrl); //获取到的当前列表源码内容
echo serialize($LabelArray);
?>

接口主要获取列表有限制!这个插件就是获取列表地址的

然后在列表页上使用下面的规则
https://ww1.sinaimg.cn/large/007i4MEmgy1fyy4vkmtmej30kk0b00wd.jpg

至于内容页的信息采集你们就自己写吧!很简单的

yemoecom 发表于 2019-1-18 19:34

本帖最后由 yemoecom 于 2019-1-18 19:35 编辑

flyxo 发表于 2019-1-18 12:29
您使用的火车头PHP插件存在语法或其他问题,请检查!
列表页:https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid=2510&k=&num=50&page=(*)
列表规则
https://ww1.sinaimg.cn/large/007i4MEmgy1fyy4vkmtmej30kk0b00wd.jpg

把上面的代码保存成php放到:你的火车头目录\Plugins\LocoySpider下然后选择刚刚办成的php插件
https://ww1.sinaimg.cn/large/007i4MEmgy1fzayrc5td7j30l90gvgor.jpg

返回列表页获取内容看看
https://ww1.sinaimg.cn/large/007i4MEmgy1fzaytfyxrej30kr0g8gq1.jpg

内容页获取到了!内容规则就简单了!本来就是一个文章页面!标题 图片 内容 作者等等!

这里主要是获取列表的插件!

15851080065 发表于 2019-2-21 10:06

yemoecom 发表于 2019-1-18 19:34
列表页:https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid=2510&k=&num=50&page=(*)
列表规则 ...



果然报错!!

javaxue 发表于 2019-1-10 21:54

你好这个获取列表插件,怎么样和火车头进行连接,有没有详细的教程,谢谢

yemoecom 发表于 2019-1-17 15:49

javaxue 发表于 2019-1-10 21:54
你好这个获取列表插件,怎么样和火车头进行连接,有没有详细的教程,谢谢

https://ww1.sinaimg.cn/large/007i4MEmgy1fz9miym8xuj30mm0h3tby.jpg

新浪的列表!火车头貌似获取不了!只能使用插件了

zhangziyu 发表于 2019-1-18 09:12

yemoecom 发表于 2019-1-17 15:49
新浪的列表!火车头貌似获取不了!只能使用插件了

规则上传一份 哈哈我这提示语法错误 火车头的

flyxo 发表于 2019-1-18 12:29

zhangziyu 发表于 2019-1-19 20:23

语法错误

zhangziyu 发表于 2019-1-19 20:26

你的火车头php环境发下~~~~~~~~~~

liangxiaotao 发表于 2019-1-23 07:58

lxm808 发表于 2019-1-23 09:01

采集软件不错,
页: [1] 2
查看完整版本: 火车头采集新浪新闻php插件