Написать парсер ВКонтакте [100+ запросов/сек; PHP]

Цена договорная • безналичный расчёт, электронные деньги
07 апреля 2018, 02:36 • 1 отклик • 60 просмотров
• иметь функционал с методами audio.search+audio.getById+audio.getLyrics i.imgur.com/jPPk3EE.png ;Здравствуйте.
Есть сервис, который парсил сайт/API социальной сети ВКонтакте (раздел аудио; методы audio.search+audio.getById+audio.getLyrics). Т.к. сервис генерирует сотни запросов в секунду к серверам ВКонтакте, для обхода ограничений на количество запросов использовался 1 IP адрес и несколько сотен аккаунтов ВКонтакте (500+).
Вечером 3 апреля все аккаунты, которые использовались для парсинга ВКонтакте, были заморожены социальной сетью (разморозка через SMS на номера, к которым нету доступа). Добавленные новые аккаунты в короткий срок (менее 10 минут) также становились нерабочими (т.е. командой ВКонтакте были применены новые алгоритмы по защите от массового парсинга их ресурсов).

В результате экспериментов, удалось найти способ, как уберечь аккаунты от заморозки: с IP-адреса сервера-парсера открывалось несколько сессий в реальном браузере, происходила авторизация в соцсети и окно оставлялось открытым (чтобы шли т.н. long poll POST-запросы к серверам ВКонтакте https://queuev4.vk.com/im*). Т.к. открывалось всего несколько сессий в браузере, т.е. использовалось всего несколько аккаунтов ВКонтакте, а запросов к серверу ВК по прежнему много, то спустя 10-20к запросов/аккаунт, ВКонтакте вместо корректного ответа выдавал ошибку "Too many requests" (заморозки аккаунта не происходило, но на ~сутки аккаунт выходит из строя).
Есть предположение, что 3 апреля 2018 ВКонтакте начал замораживать аккаунты, которые делают много запросов к сервера ВК, но при этом не проявляют активности схожей с реальным браузером (не делаются запросы к long poll серверам).

Поэтому необходимо решение на php 7.1:
• которое будет уметь авторизироваться ВКонтакте (логин+пароль), и притворяться браузером (не полностью, т.к. ресурсозатратно, а в минимально необходимом количестве, чтобы не получать заморозки аккаунта) на сотнях аккаунтов одновременно (например, можно использовать библиотеку Guzzle, которая умеет выполнять неблокирующие http-запросы);
• иметь функционал с методами audio.search+audio.getById+audio.getLyrics i.imgur.com/jPPk3EE.png ;

Можно использовать методы доступные в официальном приложении ВКонтакте для android (последняя версия, которая легко снифается, т.е. не имеет защиты от подмены сертификата - 4.13.1). Там тоже есть long poll запросы.

Сроки: чем быстрее - тем лучше, т.к. с 3 апреля сервис работает в ограниченном режиме (используется ранее накопленный кэш, но нужно пополнять сервис новыми данными из ВКонтакте).
ОС: CentOS 6.8 (x64)

Сколько времени и денег потребуется на выполнение данного задания (возможно у вас уже имеются готовые наработки или знания в данной области)?
Оплата возможна через системы электронных платежей (WebMoney, Qiwi, Яндекс.Деньги) либо на карту Visa.
Благодарю за внимание.
С уважением.
Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Исключительно положительные эмоции от работы с Ильёй.
Конечный код структурирован, хорошо откомментирован, написан в едином стиле.
Моё задание было в виде исследования с неизвестным финалом (отсутствие документации + информации в интернете), но после суток изучения, Илья сообщи, что нашёл вариант решения и через некоторое время продемонстрировал его.
Оплату делал после получения готового решения (работали без предоплаты). Код был предоставлен ранее оговоренных сроков.
Порадовало наличие опыта в работе с API социальной сети ВКонтакте и ОС Android.
При необходимости буду обращаться к Илье ещё и рекомендовать знакомым.
2 года назад
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Фрилансер
Достойный заказчик, с которым приятно работать!
2 года назад