请选择 进入手机版 | 继续访问电脑版

千帆云

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3859|回复: 0

[接口升级] Discuz站点(第三方百度搜索----相关问题解决办法)

[复制链接]

16

主题

22

帖子

0

积分

认证会员

Rank: 7Rank: 7Rank: 7

积分
0
发表于 2017-10-25 17:46:29 | 显示全部楼层 |阅读模式
本帖最后由 千帆开发王文才 于 2017-10-30 16:24 编辑

安装了百度搜索之后如果搜索不到内容,或者不收录,请按如下方式解决:

1.检查配置。
         论坛后台打开qianfan插件的配置,填写正确的 百度站内搜索id 和 帖子url 匹配。如果不会填写,联系千帆。
2.打开论坛的站内搜索地址,例如:http://zhannei.baidu.com/cse/sea ... 1794910680709&nsid=
     如果显示内容是空的:(注意,此处打开的页面是论坛样式,非网页样式)
A~M282DB{U(L9(GN1QGBCV4.png
请登陆百度站内搜索http://zn.baidu.com/cse/engine/list,-》进入管理后台-》结果页管理-》行业模板数据提交。
---->行业模板数据出现大量错误,校验失败,或者xml文件出现错误等等,可以点击状态 查看原因,并解决问题。(index型文件出现少量的内部文件错误可以忽略)。
---->行业模板数据没有问题,请登录百度站长平台 http://zhanzhang.baidu.com/guide/index 查看抓取异常,抓取频率,查看抓取相关的报错。    如果发现错误,可以根据出现错误的链接响应代码解决问题(可以尝试抓取诊断,论坛不要禁止百度爬虫)。
   

---------------百度收录结果一直为空:
实际上安装插件之后,百度会根据提交的模板 sitemap 抓取站点帖子。如果2-3天内没有数据,就需要反馈百度。反馈之前 需要确认不是由于行业模板数据的问题,或者抓取错误的问题导致的没有收录数据。

---------------百度已收录部分内容,但是新链接没有继续收录:
需要在站长平台 查看抓取频率是否正常,如果抓取频率过小,需要手动提交站点链接,或者使用脚本提交新的链接。如果抓取正常,或者提交链接1-2天后仍没有收录,需要反馈百度,并要说明 已经手动提交了链接,仍不起作用。


百度反馈地址:http://zhanzhang.baidu.com/feedback ,选择pc搜索》网站收录问题,选择对应的情况。反馈要说明清楚问题,比如:

站点已经安装了百度站内搜索插件,行业模板提交正常。论坛样式收录为0,这个请管理员查下原因。另外在站长平台也查过了 没有出现抓取异常等情况。
最好加截图说明,附上站内搜索链接。


附:
百度提交php脚本:建议放在论坛根目录使用。
<?php
//百度搜索手动提交
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
//-------配置信息---------
$setting = array(
        //调试模式,开启后可,查看url是否正确。
        'debug'=>true,
        //discuz core 文件的相对路径
        'coreUrl'=>'./source/class/class_core.php',  
        //推送多少时间前到现在的时间段的帖子,单位天,0为当天。
        'time'=>'0',               
        //百度推送的接口地址
        'api'=>'http://data.zz.baidu.com/urls?site=xxxxxx',
        //帖子链接的模板url,此处域名和百度搜索验证的域名保持一致。
        'threadUrl'=>'http://www.xx.com/forum.php?mod=viewthread&tid={ID}',
);

//------------------------
define('API',$setting['api']);
define('DEBUG',$setting['debug']);
define('URL',$setting['threadUrl']);


$tids = getTids($setting);
if(empty($tids) || !is_array($tids)) exit('empty!');
$urls = array();
$start = 0;
foreach($tids as $k => $val){
        if(!$val) continue;
        if( is_int($k/1500) && $k != 0){
                $start ++;
        };
        $urls[$start][] = str_replace('{ID}',$val,URL);
        
}
foreach($urls as $val){
        if(DEBUG){
                $re = $val;
        }else{
                $re = pullData(API,$val);
        }
        print_r(var_export($re,true));
}
function getTids($setting){
        require $setting['coreUrl'];
        C::app()->init();
        $time = strtotime(date('Y-m-d'));
        if($setting['time']){
                $time = $time - (24*3600*intval($setting['time']));
        }
        $table = DB::table('forum_thread');
        $sql = "select tid from $table where displayorder >=0 AND dateline > $time";
        
        $query = DB::query($sql);
        $tids = array();
        while($tid = DB::fetch($query)) {
                $tids[] = intval($tid['tid']);
        }
        
        return $tids;
}

function pullData($api,$urls){
        $ch = curl_init();
        $options =  array(
                CURLOPT_URL => $api,
                CURLOPT_POST => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_POSTFIELDS => implode("\n", $urls),
                CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
        );
        curl_setopt_array($ch, $options);
        $result = curl_exec($ch);
        return $result;
}







回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

Archiver|手机版|小黑屋|千帆移动开放平台  

GMT+8, 2021-9-20 03:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表