关注Twitter页面上的所有用户

时间:2011-04-30 10:23:56

标签: javascript twitter greasemonkey

我在https://twitter.com/#!/username/followers;是否有任何关于该页面上所有Twitter用户的关键字脚本?

4 个答案:

答案 0 :(得分:17)

这是一个新的,也采用延迟来防止垃圾邮件问题。

var FOLLOW_PAUSE = 1250;
var FOLLOW_RAND = 250; 
var PAGE_WAIT = 2000;
__cnt__ = 0; 
var f;
f = function() {
        var eles;
        var __lcnt__ = 0;
        eles = jQuery('.Grid-cell .not-following .follow-text').each(function(i, ele) {
                    ele = jQuery(ele);
                    if (ele.css('display') != 'block') {
                        console.trace('Already following: ' + i);
                        return;
                    }
                    setTimeout(function() {
                              console.trace("Following " + i + " of " + eles.length);
                            ele.click();
                            if ((eles.length - 1) == i) {
                                console.trace("Scrolling...");
                                window.scrollTo(0, document.body.scrollHeight);
                                setTimeout(function() {
                                    f();
                                }, PAGE_WAIT);
                            }
                    }, __lcnt__++ * FOLLOW_PAUSE + Math.random()*(FOLLOW_RAND) - FOLLOW_RAND/2);
                    __cnt__++;
        });
}
f();

它的作用:

  • 寻找关注按钮
  • 检查您是否已经关注或待决(display: block检查)
  • 设置一个计时器,每500毫秒点击一次FOLLOW按钮,以防止垃圾邮件问题。
  • NEW!当它完成所有操作后,滚动页面并等待几秒钟以显示下一个载荷,然后重复整个过程!

黑客注意事项:

  • 截至2016年9月30日,适用于Chrome最新版本和Twitter。
  • 您似乎需要点击" A标签内的DIV,而不是A标签本身。
  • 家庭作业:也许尝试使用jQuery的live()函数来自动点击初始页面加载后显示的任何新按钮:)。

免责声明:这不是一个黑客......只是一种保存手腕和手指的技术RSI :)无论如何,要小心谨慎地使用。

更新:改进了最新推特。现在在时间上采用随机性使你看起来不像一个机器人

答案 1 :(得分:4)

Twitter使用JQuery,所以这是一种方法,假设您没有这么做,以至于触发速率限制(与API用户相比,速率限制将更积极地应用于Web客户端用户)是做相当于:

$('.button.follow-button').click()

如果您愿意,可以在GreaseMonkey中完成此操作,或者将其设置为JavaScript书签,或者将其复制粘贴到您的地址栏并点击输入:

javascript:$('.button.follow-button').click()

答案 2 :(得分:2)

我修改了Hari Karam Singh之前发布的代码,以便在最新的Twitter上工作。

__cnt__=0; jQuery('.stream button.follow-button > span.follow-text').each(function (i, ele) { ele = jQuery(ele); if (ele.css('display')!='block') {console.log('already following:', i); return;} setTimeout(function () {ele.click();}, __cnt__++*500); });

答案 3 :(得分:1)

它不再起作用了,但是如果你使用对象而不是别名我会做javascript:jQuery('.button.follow-button').click();。 您还可以使用chrome或firebug中的内置调试器添加一个凸轮按钮,并添加settimeout以避免干扰api的限制。

<input type="button" onclick="javascript:jQuery('.button.follow-button').click();" value="follow!
">