vk execute wall get comments automation

Как использовать vk execute для получения всех комментариев со всех постов? Как и обещал, пришло время выложить исходники (исподники) скриптов, которые я использую для собирания комментов с постов в группе. Суть в следующем, у вас есть группа, в которой есть посты, в которых есть комментарии. Вначале вы отбираете ТОЛЬКО те посты, в которых комментов больше нуля и формируете их них список, разделенный запятыми, это важно, так как метод вк не позволяет отправлять сразу список, поэтому мы его “обманем”. Порядок действий такой: получить все посты (wall.get) -> python отобрать посты, где комментарии > 0; -> python соорудить array из id постов, перевести его в строку: ‘11111,2222,3333,4444‘; -> python передать строку в execute-> python собрать с каждого поста комментарии; -> vk executeShort Read more…

Better, then best vk execute and python part. 2

Крайняя степень эффективности. Теперь скрипт не парсит данные, их парсит сам ВК и возвращает мне лишь списки: айди, комменты, репосты и т.п. Для каждого набора свой список – длина списков всегда одинакова. Дело в том, что ВК не позволяет производить более 24-х итераций за раз в vk execute, поэтому, прежде чем отправить списки постов, я дроблю их на группы по 20. Мало того, благодаря вот этому вкраплению: https://toster.ru/q/234399 я теперь могу производить сбор постов по 100 штук по 20 раз за итерацию в Python, то есть на стороне ВК происходит 20 итераций по 100 постов за одну итерацию в python Далее списки zipаются в один большой список списков по 2000 элементов в каждом. Based on: http://www.trianglesis.org.ua/python-i-vk-execute-40-tysyach-postov-za-3-minuty Время выполнения сократилось почти в дваShort Read more…

Python и vk execute = 40 тысяч постов за 3 минуты!

Да, сучка, это Python и vk execute! Собрать 39000 постов за 3 минуты! Закончил очередную партию парсеров, теперь этот парсер умеет делать сбор постов несколько быстрее, чем раньше. В прошлый раз, одними только силами Python while – мне удалось спарсить стену с 39 тысячами постов минимум за 15-20 минут, при этом с вероятностью в 50% поймать timeout error и запускать все заново или дробить сбор постов по дате или кол-ву. Вуаля, упорство и немного логики: Get posts from wall from VK wall.get Posts present: 39143| Runs: 20| Iters: 20| Offset of posts is: 2000 Posts present: 39143| Runs: 20| Iters: 20| Offset of posts is: 4000 Posts present: 39143| Runs: 20| Iters: 20| Offset of posts is: 6000 Posts present:Short Read more…

vk execute VS python while

Итак, финишная прамая на сегодня: скрипт на Python, получающий комментарии из 57 постов за последних 7 дней скрипт Python, отправляющий аргументы для vk execute порциями по 24 поста за раз со sleep(1) – во избежание флуда Дано 57 постов и 797 комментариев под ними. Старый вариант: достается список элементов из таблицы БД где дата элемента между сегодня и -7 дней для каждого изъятого из таблицы элемента с index[0] производится забор комментариев если  index[1] – значение содержит число > 100 – значит в посте больше 100 комментов (ВК не отдает более 100 коментов за один запрос) то запустить while и счетчик, до тех пор, пока индекс итераций(offset_comments) не достигнет числа равному кол-ву комментов(post_com); all_post_comments = [] for item in post_id_comm_list: post_id =Short Read more…

vk execute – parse array or posts and get comments of each

vk execute Родил, наконец-то, следующее детище Франкенштейна: взято за основу: https://toster.ru/q/234399 Этот скрипт позволяет форматировать первый аргумент – строку-список с post_id типа “53288,53303,53306,53288,” (обязательно с запятой вконце, чтобы ометить конец строки) – в понятный для vk execute – array – список айди постов, и потом, до тех пор, пока длина этого списка не будет равна 0 – он будет получать комментарии с каждого элемента этого списка и сохранять их в переменной all_comments и в свою очередь, если кол-во комментов под постов больше 100 – запускать второй while до тех пор, пока счетчик comments_cnt(сколько комментов в посте) не сравняется со счетчиком offset_comments(на сколько сдвигать выборку). Результат обработки 4-х постов с комментами (305, 13, 5, 6): = 329 комментариев var myList = Args.post_id_array_str; varShort Read more…

vk execute method working example on python 3

vk execute   РУС: Сраный интернет и хабрахабры просто завален всякими говнопримерами про vk execute method, каждый круче предыдущего, и никто так и не смог написать нормальный код, я два дня пытался читать тот эльфийский говнокод, в который хабровчанин превратил пайтон, силясь понять что он куда передает, до тех пор, пока не послал все к “%s собачим” и не сделал методом тыка сам. Все оказалось пипецки просто, смотрите сами, код внизу спокойно себе возвращает то, что нам нужно. python(vk execute method): import requests owner_id = “-PAGE_ID” token = ‘TOKEN’ # may use return%20API.wall.get where “%20” is for HTTP encode of space symbol # also can work with regular space sybmol – in my version is working fine r = requests.post(‘https://api.vk.com/method/execute?access_token=’+token+’&code=returnShort Read more…