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