火车头采集新浪新闻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: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
内容页获取到了!内容规则就简单了!本来就是一个文章页面!标题 图片 内容 作者等等!
这里主要是获取列表的插件! 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
你好这个获取列表插件,怎么样和火车头进行连接,有没有详细的教程,谢谢
https://ww1.sinaimg.cn/large/007i4MEmgy1fz9miym8xuj30mm0h3tby.jpg
新浪的列表!火车头貌似获取不了!只能使用插件了 yemoecom 发表于 2019-1-17 15:49
新浪的列表!火车头貌似获取不了!只能使用插件了
规则上传一份 哈哈我这提示语法错误 火车头的 语法错误 你的火车头php环境发下~~~~~~~~~~ 采集软件不错,
页:
[1]
2