当前您的位置:济南网站优化 > 新闻资讯 > 【SEO干货系列】百度和360自动推送JS改造

【SEO干货系列】百度和360自动推送JS改造

  • 文章来源:SEO干货
  • 文章作者:百度SEO
  • 2020-04-16

  • 180

分享百度和360自动推送JS改造,能够将被访问页面的所有链接,全部提交。
这样就可以弄个sitemap的url,里面挂上非常多的随机链接,然后不断刷这个url的访问,可以实现大批量的自动推送。
 
代码我从google搜到的,不过粘过去发现没反应,于是找个php同学又改了下,实现了上述功能。
 
百度自动推送改造
360SEO
对原始的百度自动推送代码进行改造,使之能够推送被访问页面上的所有链接
 
原理就是通过getElementsByTagName,提取当前页面a标签对应的href,然后在构造gif的推送链接,其中:
 
https通过:
 
https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif 推送
 
http通过:
 
http//api.share.baidu.com/s.gif推送
 
s.gif构造格式:
 
https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif?l=https://www.gogochuang.com/tags-7.html
 
追加个l参数即可,发包也是通过这个gif发送
 
 
<script type="text/javascript">
var list = document.getElementsByTagName("a");
var n = "http://api.share.baidu.com/s.gif";
var ns = "https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif"; 
var r = window.location.href;
var url = [];
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
for(var i=0;i<list.length;++i){
    url.push(ns+'?l='+encodeURIComponent(list[i].href));
}
} else {
for(var i=0;i<list.length;++i){
    url.push(n+'?r='+r+'&l='+encodeURIComponent(list[i].href));
}
}
for(var i=0;i<list.length;++i){
    var t = new Image;
    t.src = url[Math.round(Math.random() * list.length)];
}; 
</script>
 
 
效果如下:
 
360自动推送改造
前端js
 
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    var hrefArr = document.getElementsByTagName('a'); 
    var hrefURL = new Array();
    for(var i=0; i<hrefArr.length; i++){
        hrefURL[i] = hrefArr[i].href;
    }
function unique(arr){
    var res = [];
    var obj = {};
    for(var i=0; i<arr.length; i++){
       if( !obj[arr[i]] ){
            obj[arr[i]] = 1;
            res.push(arr[i]);
        }
    } 
 return res;
}  
$.ajax({
    url: "https://www.shuafensi.top/index.php?token=d182b3f28525f2db83acfaaf6e696dba",
    type: "post",
    data: {
        url: JSON.stringify(unique(hrefURL)),
    },
    traditional: true,
    dataType: "json",
    success: function (data) {
        if (data.status == "success") {
            for(var i=0;i<data.result.length;++i){
            var t = new Image;
      t.src = data.result[i].img;
            }
        }
    }
});
</script>
 
 
后端php
 
 
 
在某个域名根目录创建index.php,代码如下,前端js的url引用该地址,如:
 
 
 
https://www.shuafensi.top/index.php?token=xxxxxxx
 
 
 
其中的token值从360站长平台中获取
 
 
 
<?php 
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json;charset=utf8');
 
function getPushSoUrl2($url){
    $token='d182b3f28525f2db83acfaaf6e696dba'; 
    return $str="http://s.360.cn/so/zz.gif?url=".urlencode($url)."&sid=". $token."&token=".getPushToken($url,$token);
}
function getPushToken2($url,$o){
    $n = str_split($url,1);
    $n=array_reverse($n);
    $r = str_split($o,1);
    $i=[];
    for($s=0,$o=16;$s<$o;$s++){
        array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);
    }
    return implode($i);
}
 
function getPushSoUrl($url){
    $token='d182b3f2654654f2db83acfaaf6e696d';
    return $str="http://s.360.cn/so/zz.gif?url=".urlencode($url)."&sid=". $token."&token=".getPushToken($url,$token);
}
 
function getPushToken($url,$o){
    $n = str_split($url,1);
    $n=array_reverse($n);
    $r = str_split($o,1);
    $i=[];
    for($s=0,$o=16;$s<$o;$s++){
        array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);
    }
    return implode($i);
}
 
function echoJSon($res){
    echo \json_encode($res);
    die;
}
 
$res['status']  = 'error';
$res['result']  = array();
$urls = isset($_POST['url']) ? $_POST['url'] : '';
 
if(empty($urls)){
    echoJSon($res);
}
 
$urlArr = \json_decode($urls,true);
if(empty($urlArr)){
    echoJSon($res);
}
 
 
 
if(!empty($urlArr)){
    $res['status']  = 'success';
    foreach($urlArr as $k=>$v){
        $res['result'][]['img'] = getPushSoUrl($v);
    }
}
 
echoJSon($res);
 
?>
 
 
效果如下:
 
以上供大家学习。
 
至于效果,大家要相信,有质的效果的东西,我是不会公开发出来的
 
百度已经取消自动推动了,并且上了几天后,排名掉了......
而360,反正我的站没鸟收录,爬虫都没来。如果你域名已经有360Spider过来,或许能够增加爬取量。