web-dev-qa-db-ja.com

Twitterページですべてのユーザーをフォローする

私は https://Twitter.com/#!/username/followers ;そのページのすべてのTwitterユーザーをフォローするグリースモンキースクリプトはありますか?

11
Matthieu

これは、スパムの問題を防ぐために遅延も採用している新しいものです。

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ミリ秒ごとに[フォロー]ボタンをクリックするタイマーを設定します。
  • 新着!すべて完了したら、ページをスクロールして、次の読み込みが表示されるまで数秒待ってから、プロセス全体を繰り返します。

ハッカーへの注意:

  • 2016年9月30日現在のChrome最新バージョンとTwitterで動作します。
  • Aタグ自体ではなく、Aタグ内のDIVを「クリック」する必要があるようです。
  • 宿題:jQueryのlive()関数を試して、最初のページの読み込み後に表示される新しいボタンを自動クリックしてください:)

免責事項:これはハックではありません...手首と指のRSIを節約するためのテクニックです:)とにかく、慎重かつ丁寧に使用してください。

更新:最新のTwitter用に改善されました。タイミングにランダム性を採用して、ボットのように見えないようにします

18

TwitterはJQueryを使用しているため、レート制限をトリガーするほど多くのことを行っていない場合(レート制限はAPIユーザーと比較してWebクライアントユーザーにより積極的に適用されます)、これを行う方法は同等の方法です。の:

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

必要に応じてGreaseMonkeyでこれを実行するか、JavaScriptブックマークレットとして設定するか、これをコピーしてアドレスバーに貼り付け、Enterキーを押します。

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

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); });
2
Kwnstantinoulis

それはもう機能しませんが、エイリアスの代わりにオブジェクトを使用する場合は、javascript:jQuery('.button.follow-button').click();を実行します。 chromeまたはfirebugに組み込まれているデバッガーを使用して、これを実行するボタンを追加し、settimeoutを追加してAPIの制限への干渉を回避することもできます。

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