Тема: VBS: Скрипт накрутки WMmail.ru
в названии наверное слишком громко было сказано, скорей всего - это только цель, а пока так...
Общее описание скрипта:
1) Авторизация на сайте WMmail.ru
2) В случае необходимости вводится код операций
3) Проверяем текущий баланс
4) Проверяем наличие доступных писем для сёрфинга
5) Если есть письма то сёрфим их по порядку
6) По завершении переходим в автосёрфинг
На этом пока всё
Файл _shell.bat:
@ECHO OFF
TITLE WMmail.ru Autoclicker
COLOR 0F
cscript script.vbs
COLOR 1F
echo.
echo Для выхода из скрипта нажмите любую клавишу...
pause>nulфайл script.vbs:
'On Error Resume Next 'отключили ошибки
Set WshShell = CreateObject("WScript.Shell")
' настройка
login = "******" 'логин
pass = "******" 'пароль
pass1 = "******" 'пароль для операций
sleep = 1 'пауза между мереходами по ссылкам
visible = 1 'видимость браузеров
msg("запуск скрипта накрутки WMmail.ru")
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Visible = visible
objIE.Navigate "http://www.wmmail.ru/"
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
WScript.Sleep sleep*1000 'Выдерживаем паузу
If InStr(objIE.Document.Body.InnerHTML, login) > 0 Then
msg("заходим по старой сессии")
objIE.Navigate "http://wmmail.ru/index.php?cf=akk-viewstat"
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
Else
msg("авторизация")
Set objForm = objIE.Document.forms("login")
With objForm
.elements("ulogin").value = login
.elements("pass").value = pass
.submit()
End With
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
If InStr(objIE.Document.Body.InnerHTML, "У Вас изменился браузер или IP-адрес") > 0 Then
WScript.Sleep sleep*1000 'Выдерживаем паузу
msg("ввод кода операций")
Set objForm = objIE.Document.forms("login")
With objForm
.elements("pass1").value = pass1
.elements("Submit").click()
End With
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
End If
End If
ubalance = objIE.Document.getElementById("ubalance").innerHTML
upoints = objIE.Document.getElementById("upoints").innerHTML
msg("текущий баланс: " & ubalance & "$")
msg("кредитов: " & upoints)
WScript.Sleep sleep*1000 'Выдерживаем паузу
msg("проверяем наличие доступных писем")
objIE.Navigate "http://wmmail.ru/index.php?cf=mail-viewpmail"
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
If InStr(objIE.Document.Body.InnerHTML, "Закончились оплачиваемые письма") > 0 Then
msg("писем нет")
Else
Set objRegExp1 = CreateObject("VBScript.RegExp")
objRegExp1.Global = True
objRegExp1.Pattern = "cf=mail-readpmail.+mid=([0-9]+)"
Set objMatches1 = objRegExp1.Execute(objIE.Document.Body.InnerHTML)
msg("доступно писем: " & objMatches1.Count)
For i=0 To objMatches1.Count-1
Set objMatch1 = objMatches1.Item(i)
Set objSubmatches1 = objMatch1.Submatches
f_mid = objSubmatches1.Item(0)
msg("просмотр письма #" & f_mid)
WScript.Sleep sleep*1000 'Выдерживаем паузу
objIE.Navigate "http://wmmail.ru/index.php?cf=mail-readpmail&mid=" & objSubmatches1.Item(0)
While objIE.Busy: Wscript.Sleep 1: Wend 'Ждем загрузки
Do Until objIE.readyState=4: WScript.Sleep 1: Loop
Set objRegExp2 = CreateObject("VBScript.RegExp")
objRegExp2.Global = False
objRegExp2.Pattern = "(cf=pmail-readm.+uid=([0-9]+).+mid=" & f_mid & ".+rnd=([0-9a-z]+))"
Set objMatches2 = objRegExp2.Execute(objIE.Document.Body.InnerHTML)
Set objMatch2 = objMatches2.Item(0)
Set objSubmatches2 = objMatch2.Submatches
f_uid = objSubmatches2.Item(1)
f_rnd = objSubmatches2.Item(2)
objIE.Navigate "http://wmmail.ru/index.php?cf=pmail-readm&uid="& f_uid &"&mid="& f_mid &"&rnd="& f_rnd '
WScript.Sleep 60*1000 'Выдерживаем паузу
Set objSubmatches2 = Nothing
Set objMatch2 = Nothing
Set objMatches2 = Nothing
Set objRegExp2 = Nothing
Next
Set objSubmatches1 = Nothing
Set objMatch1 = Nothing
Set objMatches1 = Nothing
Set objRegExp1 = Nothing
End If
msg("переходим в режим автосёрфинга")
objIE.Navigate "http://wmmail.ru/index.php?cf=surfa-viewrsite"
MsgBox "<OK> для завершения", vbInformation+vbOKOnly, "WMmail.ru (" & login & ")"
objIE.Quit
Set objIE = Nothing
Set WshShell = Nothing
msg("happy end :)")
WScript.Quit 0
'************************************************************************************
Function msg(text)
WScript.Echo Now() & " " & text
End FunctionВ дальнейшем планируется всё разбить на функции и правильно зациклить так, чтобы осуществлялась проверка доступности писем каждые N секунд/минут, а в перерывах переходило в режим автосёрфинга.
Если имеются какие предложения, то всегда рад...

