看到一个类似的批量拉黑脚本

https://github.com/overtrue/weibo-dogs-killer
https://github.com/overtrue/weibo-dogs-killer/blob/master/weibo-dogs-killer.js

该脚本演示了另一种定时执行的办法,以及异步方式调用XMLHttpRequest对象的open方法,TK则是同步方式调用open。open第三形参决定异步、同步。

下列脚本采集"微博社区志愿者(微博监督员)官方微博"的粉丝列表

https://weibo.com/p/1006066264005608/follow?relate=fans&wvr=6
https://github.com/LyZane/weibo-supervisor-jsCrawler
https://github.com/LyZane/weibo-supervisor-jsCrawler/blob/master/main.js

上述脚本已不适用于当前新浪微博,修改脚本简单获取目标用户粉丝列表前5页数据

function crawl ( pagemax, interval )
{
    /*
     * <a bpfilter="page" class="page S_txt1 S_bg1">1</a>
     */
    if ( 1 != document.querySelector( ".page.S_bg1" ).innerText )
    {
        console.error( "请先手动跳转到粉丝列表的第一页后再执行此脚本!" );
        return;
    }

    var uidlist = [];
    var page    = 1;
    var timer   = setInterval
    (
        function ()
        {
            if ( page != document.querySelector( ".page.S_bg1" ).innerText )
            {
                return;
            }
            console.log( "第" + page + "页采集中..." );
            var list    = document.querySelectorAll( "li.follow_item.S_line2" );
            // console.log( list )
            for ( var i = 0; i < list.length; i++ )
            {
                var item        = list[i].childNodes[1].childNodes[3].childNodes[1].childNodes[1];
                var usercard    = item.attributes["usercard"].value;
                // usercard.match( /(?:id=)(\d+)/ )[0].match( /\d+/ )[0];
                var uid         = usercard.match( /(?:id=)(\d+)/ )[1];
                // console.log( uid )
                uidlist.push( uid );
            }
            console.log( "第" + page + "页采集完毕" );
            page++;
            if ( page <= pagemax )
            {
                document.querySelector( ".page.next" ).click();
            }
            else
            {
                clearInterval( timer );
                console.info( uidlist );
            }
        },
        interval * 1000
    );
}

/*
 * 服务端有限制,最多5页。每1秒采集1页数据。
 */
crawl( 5, 1 );

TA们是想批量拉黑微博监督员,我则是临时试一下JS编程。我是良民,所以上述脚本没有针对性过滤,也没有合并拉黑操作。

不会js编程,为了改出上述脚本,临时搜了一篇

document.querySelector()方法 - [2018-03-22]
https://blog.csdn.net/huangbaokang/article/details/79659246