Этот вопрос меня мучал очень давно. Если для вконтакта есть простые способы в виде куска JavaScript, который проворачивает сие за доли секунд, то для сети Одноклассники такого хитрого способа не существует. В сети присутствует упоминание некой программы, которая сделает все сама, но она вроде как стоит денег. Наверняка её можно скачать на каких-то сайтопомойках, но в моем случае это не вариант ибо я работаю в линуксе, а та программа наверняка под винду.
Пробовал я написать небольшой JS-скрипт, но он настолько сложный, что мне стало лень разбираться в хитрозавернутой схеме удаления друга из Одноклассников. Это дело я благополучно забросил. Как оказалось, забросил не на долго. Поставили тут передо мной задачу накрутить метрику, раньше ясчитал это невыполнимой и чертовски трудо затратной задачей, но оказалось все довольно просто. Я открыл для себя модуль selenium для Python. Наверняка он есть и под множество других языков. Но я нынче торчу от Python, под него и искал.
Что такое selenium? По сути это набор драйверов для браузеров, таких как firefox, chrome и т.д. То есть selenium не браузер, а только драйвер, то есть программа для управления браузером. Раньше я пробовал использовать движок браузера через QT, но сие было ацким гимором, которым к тому же было трудно управлять. Но selenium, ска, вещь! Три строчки кода и мы уже имеем простого бота, который посещает страничку. Красотища!
Задачу с накруткой выполнил, встала другая: увеличить количество подписчиков в сецсетях. В частности в одноклассниках. На ум пришла схема простая: сделать поиск, выбрать ссылки на профили, посетить профили, лайкнуть запись. Начал колупать. А перед этим я поднял сервер для трансляций прямого эфира в одноклассниках. Огорчало только то, что трансляции надо создавать вручную. Вот именно на создание трансляций я в итоге и съехал. Пару денкей и у меня в руках скрупт, который создает трансляции, копирует ключ, помещает его в конфиг nginx и перезагружает конфиг. Красота!
Лег я значит спать, вспоминаю что хотел же запилить бота, который должен шарится по профилям и лайкать посты. Встаю, сажусь за комп, а перед глазами список друзей и тут опа-на! Вот он этот момент! Я могу массово удалить друзей из одноклассников. У меня как раз есть учетка с 1300+ друзьями, которых мне хотелось бы перевести в подписчиков, а это можно сделать только прекратив дружбу. Заодно отписаться от сотен людей, которые отклонили предложение дружбы и оставили страницу в подписчиках.
Пока все это писал, программа удалила уже больше 3-х сотен друзей, переведя тем самым их в подписчиков. Классно же? Как говорил герой Дмитрия Краско, в одной из серий Агента национальной безопасности, пусть работает железный паровоз, потому что он железный. Зачем нужны программисты? Чтобы делать жизнь проще, вот только не все программисты умеют это делать, к сожалению.
Программка хоть и берет на себя задачу удалить большую кучу друзей, но чтобы она заработала, надо поставить большую кучу всякой всячины, необходимой для функционирования программы. К сожалению для многих, я буду описывать процесс установки под линукс. Под вендой я это запускать не пробовал и желания такого нет. Если линукса нет, то варианта 3:
- Поставить линукс на виртуалку
- Отыскать в кладовке старый системник и на него поставить линукс
- Арендовать линуксовый сервер
Если лень заморачиваться самому, то могу помочь занедорого. Тем, кто решил делать все своими руками, предлагаю приступить к установке необходимого ПО для работы нашей программки.
Подготовка системы
Начиная подготовку мы подразумеваем что у нас уже имеется под рукой компьютер или сервер с операционной системой Ubuntu или другим дистрибутивом Linux. В моем случае это Ubuntu Server 20.04
Погнали!
sudo apt install -y python3 python3-selenium libglib2.0-0 libnss3 libgconf-2-4 libfontconfig1
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt update
sudo apt install -y google-chrome-stable
Теперь нам надо скачать chromedriver, для этого переходим на эту страницу и скачиваем последнюю версию.
Пробуем запускать бота
Качаем архив со скриптом
Можно распаковать тут же, но лучше убрать в папку, например bot. Открываем файл conf.py и указываем там логин и пароль к странице, у которой надо удалить друзей.
Допустим скрипты у нас в папке bot. Значит нам надо запустить бота вот такой командой
python3 bot/unfr.py
И нам остается только посматривать за выполнением программы. При возникновении ошибки просто перезапускаем и продолжаем поглядывать.