Статьи

Безкоштовний автопостінг ВКонтакте на Python

  1. Відповіді на запитання
  2. Де взяти сервер і який саме брати?
  3. Як підключитися до сервера?
  4. Як налаштувати скрипт?
  5. Куди запхати скрипт?
  6. Як і куди заливати фотографії
  7. Як перевірити працездатність скрипта

Я, як любитель створювати говнопаблікі, раніше використовував Sociate для безкоштовного автопостінга у вконтакте. Там була (і є на момент написання цієї статті) можливість масово завантажувати фотографії: Одна картинка = один пост. Досить зручно.

Але, не так давно на сайті з'явилася така штука:

Природно, платити за наповнення своїх говнопабліков - не комільфо.

Хотілося б відзначити: я не проти платити за автопостінг хорошого контенту. Для вконтакте (і не тільки для нього) є така крута штука - smmbox - дозволяє знайти якісний контент і публікувати його в потрібний час. Ну і редакторів можна і потрібно наймати якщо у вас якісний проект.

Але, якщо вас цікавлять тільки пости у вигляді картинок, то, можливо, Вам знадобиться мій скрипт автопостінга фотографій у вконтакте: скачати.

Принцип роботи:

  1. Купуєте VPS-сервер
  2. Підключаєтеся до нього через SSH
  3. Закидаєте скрипт і фотки в папку Наприклад: / home / vkposter /
  4. Налаштовуєте "розклад" за допомогою cron
  5. У зазначений час скрипт постит випадкову фотографію, після чого видаляє її
  6. ???
  7. PROFIT

Відповіді на запитання

Ти ж казав про безкоштовний автопостінг? Треба ж VPS купувати!

Вірно, VPS краще купити. Причому, я раджу купувати VPS розташований в РФ. Якщо для Вас 90р / місяць - це гроші, то можете використовувати і безкоштовний VPS від Amazon (на рік). Але якщо його забанити РосКомПозор (а РКН вже Банилів амазоновскіе сервера), то треба буде знову шукати ВПС, налаштовувати і т.д. Купити простіше.

Де взяти сервер і який саме брати?

Підійде найдешевший ВПС з Лінукс (CentOS, Debian, Ubuntu). У firstvds є тариф за 90р. / Місяць. Його повинно вистачити. ось по цим посиланням вам ще й знижка 25% на перший місяць буде. Про всяк випадок - промокод для firstvds.ru: 648642634

Як підключитися до сервера?

Підключаємося до сервера за допомогою Putty або іншого ssh-клієнта. IP-адреса і логін / пароль я сподіваюся ви здогадаєтеся де взяти.

Як налаштувати скрипт?

  1. Авторізуемся на сайті вконтакте
  2. йдемо на vkhost.github.io - натискаємо на Snapster для iPhone (наприклад)
  3. З адресного рядка беремо токен (виділено жирним): https://api.vk.com/blank.html#access_token= 3lhe7abfb1671ba3f3e4333814eabee7a39e4dbbca90e71f6595433dda99a926a88a76e181ea0032d50c & expires_in = 0 & user_id = 777
  4. У змінну vk_key вписуємо отриманий токен. Лапки не забуваємо залишити.
  5. У змінну group_id вставляємо цифровий id своєї спільноти.

Куди запхати скрипт?

Якщо Ви не знайомі з unix-подібними операційними системами, то поясню: нижче будуть вказані команди, які треба вводити. Одна команда на один рядок. Після кожного рядка тиснемо Enter. Якщо не після введення команди нічого не з'явилося на екрані, то це не означає що нічого не сталося. Все ОК.

Створюємо папку в домашній директорії:

cd / home / mkdir vkposting

Створюємо в цій папці файл script.py:

cd / home / vkposting / touch script.py

Відкриваємо цей файл для редагування:

nano script.py

Наш порожній файл відкриється в текстовому редакторі nano. Залишилося тільки вставити вміст скрипта і зберегтися. Ctrl + X -> Y -> Enter.

Виставляємо права на запуск:

chmod + x script.py

Як і куди заливати фотографії

Як робив я:

  1. Всі фотографії запакував в zip-архів
  2. Архів залив до себе на хостинг (на якому цей блог)
  3. За допомогою wget скачав архів на свій VPS з хостингу. Розпакував в папку зі скриптом.

Як перевірити працездатність скрипта

Просто запускаємо скрипт:

python3 /home/vkposting/script.py

Якщо пост з'явився в нашому суспільстві, то все ок.

Як налаштувати розклад?

Будемо використовувати вбудований планувальник завдань - крон. Краще вам загугли "як налаштувати cron", щоб зрозуміти принцип його роботи.

Для початку ми врятуємо нерви і мозок від текстового редактора vim. Не маю нічого проти нього, але для наших цілей nano підійде краще:

export EDITOR = nano crontab -e

Приклад мого вмісту:

17 6 * * * sudo python3 /home/vkposting/script.py> /home/vkposting/log.txt 21 10 * * * sudo python3 /home/vkposting/script.py> /home/vkposting/log.txt 33 14 * * * sudo python3 /home/vkposting/script.py> /home/vkposting/log.txt 15 18 * * * sudo python3 /home/vkposting/script.py> /home/vkposting/log.txt 50 21 * * * sudo python3 /home/vkposting/script.py> /home/vkposting/log.txt

Кожен рядок відповідає за кожен окремий запуск (опублікований пост).

  • Перше число: хвилина запуску
  • Друге число: годину запуску.
  • Зірочки значать що скрипт запускається кожен день, кожен день тижня, кожного місяця.

Будуть ще питання - пишіть в коментарях.

Як підключитися до сервера?
Як налаштувати скрипт?
Куди запхати скрипт?
Де взяти сервер і який саме брати?
Як налаштувати скрипт?
Куди запхати скрипт?
Як налаштувати розклад?

Новости