Граббер и автопостинг Вконтакте на PHP

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

Задачи которые выполняет скрипт

У вас есть сообщество и вам необходимо его наполнять контентом, но делать руками это не хочется. Вы выбираете несколько тематических сообществ, настраиваете скрипт и ваше сообщество начинает наполняться контентом в автоматическом режиме.

При желании вы можете уникализировать этот контент, чтобы вам не приходили страйки от Вконтакте.

Что умеет скрипт граббера и автопостинга

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

Настройки граббера Вконтакте

Настройки граббера/парсера не вызовут у вас сложностей, достаточно делать все по инструкции которая размещена ниже.

  1. Регистрируем новый хостинг с поддержкой PHP7 и MySQL. Буду благодарен если зарегистрируетесь по моей реферальной ссылке: https://www.reg.ru/?rlink=reflink-42469
  2. Делегируем домен на хостинг
  3. Скачиваем архив со скриптом https://yakovtsov.ru/files/vkgrab.zip
  4. Распаковываем архив у себя на хостинге
  5. Создаем новую базу данных и заливаем в нее файл бэкапа – vkgrab.sql
  6. Открываем файл bot.php и вносим в него следующие настройки:

6.1. Настраиваем подключение к базе данных. Указываем имя пользователя, пароль и имя базы данных

6.2. Получаем сервисный ключ доступа. Для этого переходим по ссылке https://vk.com/apps?act=manage , нажимаем “Создать приложение” и заполняем данные: название, платформа = сайт, адрес сайта, базовый домен и нажимаем “подключить сайт”.

Переходим в настройки и копируем сервисный ключ доступа

Вставляем сервисный ключ доступа в переменную $vk_service_key

6.3. Получаем токен для работы с API Вконтакте. Переходим по адресу: https://api.vk.com/oauth­/token?grant_type=password​&client_id=2274003​&client_secret=hHbZxrka2uZ6jB1inYsH​&username=НОМЕР-ТЕЛЕФОНА​&password=МОЙ-ПАРОЛЬ, предварительно подставив свои данные (номер телефона и пароль).

Если у вас двухфакторная авторизация, то переходим по ссылке redirect_uri

Вводим код доступа и нажимаем “Отправить код”

Откроется новая страница

Из адресной строки копируем все что после &access_token= и до &user_id=

Вставляем токен в переменную $vk_user_token

6.4. Вставляем ID  вашего сообщества в переменную $vk_public_id. Чтобы узнать ID вашего сообщества – откройте ваше сообщество и перейдите в раздел “Статистика”. В адресной строке все что после stats?gid= и есть ID вашего сообщества;

6.5. Вставляем ID пользователя в переменную $vk_user_id (с помощью которого был получен токен и который является администратором сообщества куда будет происходить постинг). Чтобы узнать ID пользователя, перейдите в раздел “Музыка”. Все что после audios и есть ID пользователя.

6.6. Добавляем список сообществ для парсинга. Домены сообществ добавляем через запятую в кавычках как показано в примере.

Узнать домен можно открыв страницу сообщества. Все что после https://vk.com/… и есть домен сообщества.

6.7. Сохраняем файл bot.php

7. Открываем адрес https://site.ru/vkgrab/bot.php, после чего в вашем сообществе должна появиться новая запись.

8. Добавить свой водяной знак можно заменив файл wm.png

9. Настроить публикацию поста можно на 171 строке в файле bot.php

На этом настройка скрипта завершена. Теперь при обращении к скрипту в вашем сообществе будет появляться новая запись.

Настройки автопостинга Вконтакте

После того как скрипт заработал нам необходимо настроить автопостинг. Для этого мы будем использовать планировщик заданий CRON. Я покажу на примере ISPmanager.

  1. Переходим в “Планировщик” и создаем новое задание
  2. В поле команда вставляем: wget -q -O – https://site.ru/vkgrab/bot.php > /dev/null 2>&1
  3. Выполнять – каждый час (можно выбрать любой промежуток)

После настройки планировщика в нашем сообществе ежечасно будет появляться новый контент.

Если у вас возникнут трудности с настройкой, пишите в комментариях или мне в телеграм.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться