С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/40: Рейтинг темы: голосов - 40, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6

Простой spam-bot ВКонтакте

14.11.2017, 16:56. Показов 8285. Ответов 1

Студворк — интернет-сервис помощи студентам
Руководство несет в себе ознакомительный характер.
IDE: Visual Studio
Files: Selenium_webdriver (.dll), Google_Chrome_Driver (.exe) http://www.seleniumhq.org/download/
Перед написанием нашего бота, необходимо загрузить 2 файла:
1) seleniumwebdriver для получения доступа к namespace OpenQA.Selenium
2) Googlechromdriver для работы нашего бота в браузере google chrome
Чтобы распаковать .nupkg, откройте его в архиве и вытащите .dll

Добавив WebDriver.dll в ссылки проекта , получим к нему доступ, использовав директиву using

C#
1
using OpenQA.Selenium;
1)Создадим объект интерфейса IWebDriver и проиницилизируем его.
2)Для того, чтобы раскрыть браузер на весь экран, обратимся к методу Manage().Window.Maximize(); (с помощью свойства Window мы можем управлять окном браузера).
3)Методом Navigate().GoToUrl(string), где параметр string - url сайта, мы можем заходить на интересующие нас страницы.
4)Любая веб страница имеет свой код. Обратиться к нему мы можем сочетанием клавиш Ctrl + Shift + I. Далее на придется находить нужные нам элементы на сайте с помощью стрелки (левый верхний угол инструментов разработчика) и выполнять на них интересующие нас методы.

C#
1
2
3
4
5
IWebElement element = browser.FindElement(By.Id(string s)); //Переменной интерфейса IWebElement присваиваем значение 
                                                                                            //выполнения метода FindElement();
//By.Id(); - поиск по id элемента в коде сайта
//By.PartialLinkText(); - поиск по имени класса элемента в коде сайта
//By.ClassName(); - поиск по имени класса элемента в коде сайта
Переходим в основной код программы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int i = 0;
        IWebDriver browser;
        private void button1_Click(object sender, EventArgs e)
        {
            browser = new OpenQA.Selenium.Chrome.ChromeDriver();
            browser.Manage().Window.Maximize();
            browser.Navigate().GoToUrl("http://vk.com"); //переходим на сайт vk.com
            IWebElement login = browser.FindElement(By.Id("index_email")); //ищем элемент index_email = полю ввода логина
            login.SendKeys(textBox1.Text); //вводим в поле логина значение из textbox
            IWebElement Password = browser.FindElement(By.Id("index_pass")); //ищем элемент index_pass= полю ввода пароля
            Password.SendKeys(textBox2.Text); //вводим в поле пароля значение из textbox2
            IWebElement Login_button = browser.FindElement(By.Id("index_login_button")); //ищем элемент index_login_button=Войти
            Login_button.Click(); // нажимаем на кнопку "Войти"
            Thread.Sleep(1000); //небольшая задержка пока загрузится страница 
            Start(find()); // переходим к основной части кода. метод find() будет осуществлять генерацию ссылок на людей
            
        }


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 void Start(string _randomLink)
        {
            while (true)         //в бесконечном цикле начинаем искать людей и отправлять им сообщения
            {
                if (i >= 13) { Thread.Sleep(4 * 60 * 1000); i = 0; }  // после n(13) отсылок делаем паузу, чтобы не заблокировали)
                try                                                                        // блок try catch, чтобы программа не вылетала
                {
                    Thread.Sleep(50);
                    browser.Navigate().GoToUrl(find());                 //вызываем метода генерации ссылок и получаем адрес
                    Thread.Sleep(50);
                   
                   
                    IWebElement button = browser.FindElement(By.PartialLinkText("Написать")); //нашли кнопку "Написать"
                    button.Click();                                                                                             //и нажимаем на нее
                    Thread.Sleep(150);
                    IWebElement _massage = browser.FindElement(By.Id("mail_box_editable")); //находим текстовое поле для отправки 
                    _massage.SendKeys(richTextBox1.Text);                                                      //сообщения и вводим наш текст
                    Thread.Sleep(300);                                                      //очень важна задержка, чтобы бот успел ввести весь текст
                    IWebElement button1 = browser.FindElement(By.Id("mail_box_send")); //ищем кнопку отправить 
                    Thread.Sleep(100);                                                                             // и нажимаем на нее
                    button1.Click();
                    Thread.Sleep(50);
 
                    i++;                                                                                       //если все прошло успешно, увеличиваем счетчик
                
                }
                catch { find_name(friend()); }                 //если что-то пошло не так, повторяем на новом пользователе
            }
        }
Часто пользователь скрывает свой профиль, тогда бот не сможет найти элемент кнопки для отправки сообщения.
Таких пользователей мы просто пропускаем
Напишем генерацию ссылок на пользователей. В ВК пользователи имеют свой id, я взял максимальный в 700000. Этого
должно быть достаточно. Теперь случайно выбираем id и возвращаем значение метода нашему циклу
C#
1
2
3
4
5
6
7
string find() {
            Random random = new Random();
            int ran_num = random.Next(700000);
            string name = "https://vk.com/id" +ran_num;
 
            return name;
        }
Добавим немного графики, и у нас получился бот-спамер. Не рекомендую использовать его, по крайней мере, на основном аккаунте. Их банят! Могут даль блокировку отправки сообщений на некоторое время (~день)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2017, 16:56
Ответы с готовыми решениями:

Самый простой парсер вконтакте
Здравствуйте. Я полный ноль в парсинге поэтому прошу помочь. Есть форма, на ней webbrowser, в котором открыта страница...

Api Вконтакте: загружать фотографии из Вконтакте в Flash проект.
Доброго времени суток. Необходимо загружать фотографии из Вконтакте в Flash проект. Сделал авторизацию пользователя следующим образом :...

/SPAM/
Как превратить 6$ в 6000$!!!!! Читая это Вы можете изменить свою жизнь! Это изменило мою жизнь… Я наткнулся на это на одном форуме и...

1
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
14.11.2017, 17:07  [ТС]
Мой вариант + архивация .nupkg файла webdriver
Миниатюры
Простой spam-bot ВКонтакте   Простой spam-bot ВКонтакте  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2017, 17:07
Помогаю со студенческими работами здесь

/SPAM/
Сержик у тебя аська есть? basiliv@mail.ru

/SPAM/
Заработала!!!!!!!!!!!

/SPAM/
А как это сделать ?

/SPAM/
Буду очень признателен за комментарии. это мой первый сайт: http://www.saotron.ru

/SPAM/
Зайдите на сайт www.bulum.hut1.ru


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru