邦德提取网页广告链接

提取网页(如色情)广告链接

当前为 2021-10-15 提交的版本,查看 最新版本

// ==UserScript==
// @name         邦德提取网页广告链接
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  提取网页(如色情)广告链接
// @author       木木
// @match        htt*://*/*
// @require      https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==

(function() {
    'use strict';
    // Your code here...
     console.log(1.2);
     window.onload=function(){
       setTimeout(function(){
           show_adhref(1,1);
       }, 5000);
     }

     $(document).ready(function(){
        show_adhref(0,1);
    })

    function show_adhref(is_onload = 0, is_right = 1) {
        if (is_right === 1) {
            var right_field = "right";
        } else {
            var right_field = "left";
        }
        if (is_onload === 1 && $("#textarea_getad")) { //如果onload事件, 且ready事件先显示出来了 则不显示onload了
            return false;
        }
        console.log(111, $("img:not([title])").parents("a"));
        //当前域名
        var alist = $("img:not([title])").parents("a");
        console.log(333, alist);
        var ahref = [];
        var ahref_samedomain = [];
        var r1 = /.*?(gif|png|jpg)/gi;
        var r2 = new RegExp("javascript|mailto:|#|mqq:|sinaweibo:|alipays:|weixin:|sms:|baidu.com|" + location.host ,"gi");
        var r3 = new RegExp(location.host ,"gi");
        for (var index in alist) {
            if (alist[index].href && !alist[index].href.match(r1) && !alist[index].href.match(r2)) {
                ahref.push(alist[index].href);
            }
            if (alist[index].href && alist[index].href.match(r3)) {
                ahref_samedomain.push(alist[index].href);
            }

        }

        ahref = unique(ahref);
        var r4 = new RegExp("https?:\/\/[^\/]+?(\/)?$" ,"g");
        var ahref1 = [];
        var ahref2 = [];
        for (var index3 in ahref) {
            if (ahref[index3].match(r4)) {
                 ahref1.push(ahref[index3]);
            } else {
                 ahref2.push(ahref[index3]);
            }
        }
        ahref = ahref1.concat(ahref2)
        ahref_samedomain = unique(ahref_samedomain);
        console.log(222,ahref);
        console.log(555,ahref_samedomain);


        var ahref_content = ahref.join("\r\n");
        var ahref_samedomain_content = ahref_samedomain.join("\r\n");
        var ahref_samedomain_a_str = '';
        for (var index2 in ahref_samedomain) {
            var current_ahref = ahref_samedomain[index2];
            ahref_samedomain_a_str += `<p><a style="color:#000 !important;" target="_blank" href="${current_ahref}">${current_ahref}</a></p>`;

        }
        var show_content = '';
        console.log(556, $("iframe").length,Boolean($("iframe")));
        if ($("iframe") && $("iframe").length) { //存在iframe, 不在iframe中
            var position1 = '450px';
            var position2 = '700px';
            var desc = "外部\r\n";
        } else {
            var position1 = '20px';
            var position2 = '300px';
            var desc = '';
        }
        if (ahref_content !== '' ) {
            show_content +=  `<textarea id="textarea_getad" style="position:fixed;top:5px;${right_field}:${position1};z-index:10000000  !important;width: 400px  !important;height:300px !important;">${desc}${ahref_content}</textarea>
                `;
        }
        if (ahref_samedomain_a_str !== '') {
            show_content += `<div id="" style="color:#000 !important;overflow: scroll;text-align: left;cursor:pointer;background:#fff;position:fixed;top:400px;${right_field}:${position1};z-index:10000000;width: 400px;height:300px;">${desc}同域名:\r\n${ahref_samedomain_a_str}</div>
                <button style="cursor:pointer;position:fixed;top:700px;${right_field}:${position2};z-index:10000000;" onclick="window.multi_open_youhou()" class="btn">批量打开网址</button>
                `;
        }
        $("body").append(show_content);
    }


    function unique(arr) {
        if (!Array.isArray(arr)) {
            console.log('type error!')
            return
        }
        var array = [];
        for (var i = 0; i < arr.length; i++) {
            if (array .indexOf(arr[i]) === -1) {
                array .push(arr[i])
            }
        }
        return array;
    }
    unsafeWindow.multi_open_youhou = function multi_open_youhou() {
        var alist = $("img:not([title])").parents("a:not([title])");
        console.log(666, alist);
        var r3 = new RegExp(location.host ,"gi");
        for (var index in alist) {
            if (alist[index].href && alist[index].href.match(r3)) {
                window.open(alist[index].href);
            }
        }
    }
})();