聯系信息

                        Javascript判斷是否蜘蛛訪問的方法及其應用

                        2020-02-23 16:48 By 致遠 2121
                        當前位置: 企業網站建設 > Jquery > Javascript判斷是否蜘蛛訪問的方法及其應用

                        方法一

                        var r = document.referrer;
                        r = r.toLowerCase(); //轉為小寫
                        var aSites = new Array('google.','baidu.','sm.','soso.','so.','360.','yahoo.','youdao.','sogou.','gougou.');
                        var b = false;
                        for (i in aSites){
                            if (r.indexOf(aSites[i]) > 0){
                                b = true;
                                break;
                            }
                        }
                          
                        if(b){
                            //是蜘蛛訪問
                        }

                        其中,aSites為蜘蛛關鍵字數組,把你需要判斷的蜘蛛關鍵字列入其中即可,如果某些不想判斷,直接刪除。

                        方法二

                        var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
                        var where =document.referrer;
                        if(regexp.test(where)){
                            //是蜘蛛訪問
                        }

                        其中,regexp為蜘蛛關鍵字列表,與方法一不同的是,本方法用正則表達式替代數組,其代碼相對簡潔方便。


                        以上2種方法是Javascript判斷是否蜘蛛訪問的核心,在具體使用中可以有不同的版本,但都是根據document.referrer來判斷的。方法大家都知道了,但眾所周知,搜索引擎蜘蛛并不識別Javascript內容,如果你想要根據js判斷來進行跳轉或者輸出內容就不可取了,那么到底應該怎么用呢?舉例如下:

                        一、給蜘蛛看而不是給用戶看的內容

                        比如,黑鏈……當然,還有其他應用,這里就以黑鏈為例。應用原理其實很簡單,針對用戶讓其不可見(display:none)即可。如下:


                        <div id="blackLinks">
                            <a href="http://www.kredytypozyczki.net">致遠建站</a>
                            <a >定窯瓷器</a>
                            <a >雕塑</a>
                        </div>
                        <script>
                            var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
                            var where =document.referrer;
                            if(!regexp.test(where)){
                                $('#blackLinks').hide();
                            }
                        </script>


                        二、給用戶一個頁面,給蜘蛛另外一個頁面

                        比如淘寶客,在商品列表中,用戶點擊的時候我們希望其直接跳轉到轉化頁面,而對于蜘蛛,我們希望它能抓取本站的商品詳情頁面……

                        對于這一點,用蜘蛛判斷的代碼其實有點冗余,就不寫了,有興趣的朋友可以自己去試一下,這里用另外一種方法來解決(主要應用蜘蛛不識別js來處理)


                        <!--相關html結構,其中input存放的是真實的跳轉地址-->
                        <div class="part">
                            <a class="pic"  target="_blank">
                                <img src="http://www.example.com/upfiles/2020-02/20200218134016_58949.jpg" alt="“步步高升” 天然岫玉工藝品" />
                            </a> 
                            <h4>
                                <a  target="_blank">“步步高升” 天然岫玉工藝品</a> 
                            </h4>
                            <div>
                                <span>¥<b>1580.00</b></span>
                                <a  target="_blank">立即購買</a> 
                            </div>
                            <input type="hidden" name="trueUrl" value="http://www.example.com/index.php?c=Index&a=go&id=3032">
                            <a class="i like" data-id="3032"></a> 
                        </div>
                        $('article .part a').click(function(){
                            //當點擊的時候(用戶訪問)把當前鏈接的url修改成真實的url(淘寶客地址)
                            var _url=$(this).closest('.part').find('input').val();
                            $(this).attr('href',_url);
                        });


                        © 致遠 2020-02-23,原創內容,轉載請注明出錯:Javascript判斷是否蜘蛛訪問的方法及其應用

                        留下您的評論

                        > 人人爽人人澡人人高潮_免费无码国产V片在线观看_18禁裸乳无遮挡免费观看_国产99在线 | 欧美_中文字幕无码无码专区 国产乱妇无码大片在线观看 五月天国产亚洲AV麻豆 午夜丰满少妇性开放视频 亚洲精品一区中文字幕乱码 国产又爽又粗又猛的视频 爱丫爱丫影院在线视频 在线播放亚洲第一字幕 伊人性伊人情综合网 中日韩产精品1卡二卡三卡 国产天堂亚洲国产碰碰