Следуйте за всеми пользователями на странице Twitter

Я нахожусь на https://twitter.com/#!/username/followers; есть ли greasemonkey script, чтобы следить за всеми пользователями Twitter на этой странице?

Ответ 1

Здесь новый, который также использует задержку для предотвращения проблем со спамом.

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 check)
  • Устанавливает таймер, чтобы нажимать кнопки FOLLOW каждые 500 мс для предотвращения спама.
  • NEW! Когда он выполнит их все, прокручивает страницу и ждет пару секунд для появления следующих нагрузок, а затем повторяет весь процесс!

Примечания для хакеров:

  • Работает с последней версией Chrome и Twitter с 30 сентября 2016 года.
  • Кажется, вам нужно "click" DIV внутри тега A, а не тег A.
  • HOMEWORK: Возможно, попробуйте функцию jQuery live(), чтобы автоматически щелкнуть любые новые кнопки, которые появляются после начальной загрузки страницы.

Отказ от ответственности: это не хак... просто техника для сохранения запястья и пальца RSI:) Независимо от того, используйте осторожно и с уважением.

UPDATE: улучшено для последнего твиттера. Теперь используется случайность во времени, чтобы вы выглядели меньше как бот

Ответ 2

Twitter использует JQuery, поэтому способ сделать это, предполагая, что вы не делаете этого так сильно, чтобы инициировать ограничения скорости (лимиты ставок будут применяться более агрессивно для пользователей веб-клиентов по сравнению с пользователями API) выполните эквивалент:

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

Вы можете выполнить это в GreaseMonkey, если хотите, или установите его как букмарклет JavaScript или скопируйте его в свою адресную строку и нажмите enter:

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

Ответ 3

Я изменил код, который Хари Карам Синг опубликовал ранее, чтобы работать с современным 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); });

Ответ 4

Он больше не работает, но если вы используете объект вместо псевдонима, я сделаю javascript: jQuery('.button.follow-button').click();. Вы также можете использовать встроенный отладчик в chrome или firebug, чтобы добавить кнопку, которую камера сделает для вас, и добавьте settimeout, чтобы избежать помех ограничениям на api.

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