Эксмо создало конкурс, вот по этой ссылке профиль моей знакомой в этом конкурсе: http://eksmo.ru/vampireacademy/list/1090/ Уже написал тор-прокси-свичер, запоминающий, с каких айпи уже голосовалось, и переключающий айпи (shell script, работает под Fedora 12 и Ubuntu 10.04 - проверено). Осталось написать JS-часть, которая будет автоматически сабмитить 5 звездочек за указанное фото. В частности, в исходниках странички заинтересовала следующая часть: Code: <td><div id="vote_286445_3" class="star-active star-empty" title="4" onmouseover="voteScript.trace_vote(this, true);" onmouseout="voteScript.trace_vote(this, false)" onclick="voteScript.do_vote(this, 'vote_286445', {'SESSION_PARAMS':'3c702ffdc5465a0d6a9e2199c392631e', 'PAGE_PARAMS': {'ELEMENT_ID':'286445' }, 'sessid':'7ff150086454d52a33bb8c52e00f92ec', 'AJAX_CALL':'Y' })"></div></td> Похоже нужно копать в эту сторону? Как бы проще сделать? Юзаю Russian Fedora 12 x86_64 Помогите, люди добрые, как бы так накодить автоголосовалку Обменяю код автоголосовалки на код автоматического прокси свичера для тора с запоминанием использованных айпи... Удобная штука
Ну если я правильно подставил все параметры, то при открытии страницы добавляй в конец скриптом этот код яваскрипта, заменяя строки: "{'SESSION_PARAMS':'111111111111111111111111111111111'," "'sessid':'222222222222222222222222222222222'," строчками из загруженного документа регулярным выражением или проверками. Code: <script type="text/javascript"> voteScript.do_vote('vote_286445_4','vote_286445', {'SESSION_PARAMS':'111111111111111111111111111111111', 'PAGE_PARAMS': {'ELEMENT_ID':'286445' }, 'sessid':'222222222222222222222222222222222', 'AJAX_CALL':'Y' }); voteScript.do_vote('vote_286431_4','vote_286431', {'SESSION_PARAMS':'111111111111111111111111111111111', 'PAGE_PARAMS': {'ELEMENT_ID':'286431' }, 'sessid':'222222222222222222222222222222222', 'AJAX_CALL':'Y' }); voteScript.do_vote('vote_286427_4','vote_286427', {'SESSION_PARAMS':'111111111111111111111111111111111', 'PAGE_PARAMS': {'ELEMENT_ID':'286427' }, 'sessid':'222222222222222222222222222222222', 'AJAX_CALL':'Y' }); </script> Только пробелы уберите плз между единицами (форум сам поставил пробелы, хз почему).
Нашел вот код: Code: <? $html = file_get_contents('http://eksmo.ru/vampireacademy/list/1090/'); #echo $html; $dom = new domDocument; /** загружаем html в объект **/ $dom->loadHTML($html); $dom->preserveWhiteSpace = false; /** элемент по тэгу **/ $tables = $dom->getElementsByTagName('table'); /** получаем все строки таблицы **/ $rows = $tables->item(0)->getElementsByTagName('tr'); /** цикл по строкам **/ foreach ($rows as $row) { /** все ячейки по тэгу **/ $cols = $row->getElementsByTagName('td'); /** выводим значения **/ echo $cols->item(0)->nodeValue.'<br>'; echo $cols->item(1)->nodeValue.'<br>'; echo '<hr>'; } ?> Он загружает всякий трэш из таблицы... Как бы сдеать чтобы чисто идентификатор сессии подгружался в переменную, например, $phpsession,... В терминале линуксовом я бы просто сделал wget | grep phpsession ID... А это кстати идея. Может проще через шелл-скрипт сделать? ) Посоветуйте пожалуйста более конкретным куском кода! Спасибо
Мои скрипты Помогите, уже второй день с этим сижу. Выкладываю всё, что у меня есть: Скрипт автосмены прокси для тора, с функцией запоминания использованных айпи (работает): Code: #!/bin/bash # Объясняю что делает скрипт... Функция воут function vote { # Включаем запущенный и работающий Proxy (Polipo) для консоли export http_proxy="http://localhost:8118" # Меняем IP TOR'а kill -HUP `pidof tor` # Спим 3 секунды (возможно ненужно...) sleep 3 # Загружаем IP в переменную ip с сайта whatismyip.org ip=`wget -O - -q whatismyip.org --no-cache` # Ищем в файле ip.txt строчку с только что выданным $ip test=`cat ip.txt | grep $ip` # Если такая строчка есть, значит IP уже использовался для голосования, сообщаем # и перезапускаем функцию vote с начала if [ "$test" == "$ip" ]; then echo $ip "was found in the list; getting new IP..." vote else echo $ip "is NEW IP! USE IT NOW! I will add it to used ip list now." # А если нету, говорим об этом, добавляем новый IP в файлик ip.txt, выключаем proxy для консоли echo $ip >> ip.txt unset http_proxy exit 0 fi } # Запускаем функцию воут vote Скрипт воута непосредственно, загружает HTML-страницу через прокси, в конец страницы дописывает код голосования. Не сделал автоматический рефреш браузером, т.к. скрипт не работает до конца корректно. Что я делаю неправильно? Как мне отсылать результаты на сервер с использованием локального index.html, вообще, смогу ли я это, нужно ли сохранить все побочные скрипты, которые "тянет" страница index.html, или же нужно делать как-то по-другому? Нужно ли чистить кукисы после каждого голосования, или это не обязательно? Если нужно, как почистить их (кукисы оперы например) через шелл-скрипт? Пожалуйста, посоветуйте! В итоге моя задача связать оба скрипта, чтобы тор менял айпи, успешно переходилось, голосовалось, и так по кругу. Ну, вы поняли Вот сам скрипт: Code: #!/bin/bash rm index.html export http_proxy="http://localhost:8118" v1=286445 v2=286431 v3=286427 session=`wget -O - -q http://eksmo.ru/vampireacademy/list/1090/ --no-cache | grep SESSION_PARAMS | uniq | cut -b 20-51` sessid=`wget -O - -q http://eksmo.ru/vampireacademy/list/1090/ --no-cache | grep sessid | uniq | cut -b 11-42` script="<script type=text/javascript> voteScript.do_vote('vote_"$v1"_4','vote_"$v1"', {'SESSION_PARAMS':'"$session"', 'PAGE_PARAMS': {'ELEMENT_ID':'"$v1"' }, 'sessid':'"$sessid"', 'AJAX_CALL':'Y' }); voteScript.do_vote('vote_"$v2"_4','vote_"$v2"', {'SESSION_PARAMS':'"$session"', 'PAGE_PARAMS': {'ELEMENT_ID':'"$v2"' }, 'sessid':'"$sessid"', 'AJAX_CALL':'Y' }); voteScript.do_vote('vote_"$v3"_4','vote_"$v3"', {'SESSION_PARAMS':'"$session"', 'PAGE_PARAMS': {'ELEMENT_ID':'"$v3"' }, 'sessid':'"$sessid"', 'AJAX_CALL':'Y' }); </script> " wget http://eksmo.ru/vampireacademy/list/1090/ echo $script >> index.html unset http_proxy # ну и тут потом добавить что-то типа opera ~/index.html, но не работает всё равно скрипт... exit 0 Мозг разрывается... HEEELP PLZ