Как я искал свою музыку
Зачем это все?
Если вы когда-либо писали музыку и публиковали её в вк, то скорее всего вы пытались её искать через поиск. Интересно узнать своего слушателя + иногда попадаются очень веселые посты (например, один из треков моей группы году в 2013ом был запощен в сообществе любителей анального порно :D).
Если название вашего коллектива написано на кириллице, то вероятно в поисковой выдаче вы увидите странные религиозные посты, гороскопы, порно, в общем все то, что (наверное?) никак не связано с вашей музыкой.
Можно попытаться искать не только название коллектива, но еще и песню. Тогда находить посты со своей музыкой гораздо легче. Но есть несколько нюансов:
1. Все равно придется фильтровать нерелевантный контент
2. Если у вас больше чем 2 трека, то искать становится утомительно.
Несмотря на то, что музыкой я занимаюсь с самого детства, по профессии я программист. В мае этого года я все же решил автоматизировать процесс поиска.
Про разработку бота
Быстро прочитал документацию по API вконтакте и написал за несколько дней бота, который каждые 20 минут ищет посты с моей музыкой в вк и отпарвляет их в диалог. Ниже показан пример, как выглядит такой пост.
На радостях я рассказал это своим друзьям-музыкантам и узнал, что все они хотят получить такую же возможность. Я уже начал представлять, как моей программой пользуются сотни-тысячи музыкантов, но как всегда не без нюансов: у API ВК ограниченное количество поисков в день, всего лишь 1000.
Если кому-то кажется, что 1000 поисков это много, то это не так. В одном дне 1440 минут, при частоте поиска "раз в 20 минут" на одну группу уйдет около 100 поисков в день. То есть лимит друзей, которых я могу позвать ограничен 10.
Не долго думая написал в ВК, мол хочу больше поисков. Поддержка ВК работает очень оперативно, но к сожалению, сказали, что для этой версии API установлены такие ограничения и их сменить нельзя. Но есть streaming API, с которым можно делать все что угодно и дали мне лимит в 1млн событий в месяц.
Streaming API позволяет подписываться на тэги, по которым тебе будут приходить уведомления. Я изначально рассматривал вариант с этим API, но в бесплатной версии можно было получить только 2% всего потока событий в ленте.
Я собрался с силами и переписал свою программу под streaming API, но, как оказалось, эта версия API не позволяет искать треки, которые постят пользователи. Поэтому пришлось вернуться к старой версии с её 1000 поисков.
Думал о том, как бы обойти эти ограничения: создать больше приложений, отказаться от API и через браузер получать эти обновления. Но в этом нет смысла, так как забанили бы либо приложения, либо IP. Это все бы превратилось в бесконечную гонку. Регистрация новых приложений, поиск прокси серверов и т.д.
Итог
В итоге все мечты о мировом музкальном господстве были развеяны. Сейчас к моему боту подключено 8 человек. И видимо больше не будет.
Занавес
PS если вдруг кому-то хочется посмотреть код, то вот он