python script as centos service

Task completed! I made a vkontakte Bot which delete all comments are not from group members! But I do not want to run it by cron, because it will SPAM all my system with cron emails. But I found resolution: make a worker.py allow worker to run delete scripts on time periods add worker as centos service have fun! Maybe later I’ll add more code, but now just for example I’ll show only worker and bash script:

And bash to run this as service:

Log: and process:   Based on: Run python as service: https://wolfpaulus.com/journal/software/pythonlauncher/ Schedule python: https://github.com/dbader/schedule Python 100% CPU: http://raspberrypi.stackexchange.com/questions/8077/how-can-i-lower-the-usage-of-cpu-for-this-python-program/8078   Read more…

How tired I am of Google way how get API tokens

You must: Create application and take its id and secret. Make a GET request to send secret and id with needed scopes of access. Obtain TEMPORARY access token and refresh token (first lives about 3000 – 5000 sec, the second can probably live infinite) Use this access token to GET something through REST, check if this token is not expires already. You want to GET something ELSE? First check if your token is not expired, then if expired – use refresh token to get NEW TEMPORARY token. Do something else. Nice turn google! You are the best of masters of creating shitcode. Before starting real work on google API and my own project with Google Drive I’ll learn pythons “requests” perfectly,Short Read more…

Ну здравствуй, Google Drive API

Google API

Ну здравствуй, Google API! Всего каких-от пару месяцев назад, я бы никуй не понял, в этом эльфийском коде. А теперь посмотрите на меня! Я все равно почти ничего не понимаю, но уже умею им пользоваться! В самом начале, на пути создания няшного приложения под гугл-диск. Read more…

Порядочек в тасках

Так выглядит условный порядок в моих тасках на редмайне, сохраню его, чтобы не потерять. 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://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 и запускать все заново или дробить сбор постов по дате или кол-ву. Вуаля, упорство и немного логики:

Я хз кто меня вообще читает, вижу только кучу репостов в линкедин и некоторые в фейсбук. Кароч, если кто читает – дайте о себе знать, если вам нужен будет мой сценарий по сбору этих постов через vk execute. For my english speaker folks – ifShort 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);

Время выполнения: 62.89 Далее: Новый вариант с vk execute: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 комментариев

Хух блять, пользуйтесь, комуShort Read more…

vk execute + args + python + requests

Продолжаю закреплять выученное своим горьким опытом и методом тыка по теме vk execute и python, наконец мои рученьки-загребученьки добрались до последнего оплота и просто приятного и некогда непонятного метода, и также к хранению процедур в приложении! Ура. В прошлом посте я рассказывал как передать строку с vk script сразу таки прям по воздуху, сырую и некрасивую, сегодня мне покорился вариант “хранимые процедуры” который позволяет тело скрипта хранить в приложении вк, а передавать по “воздуху” только необходимые и меняющиеся аргументы: id группы, id поста и так далее. Ближе к делу: каждая переменная, которая будет записываться переданным аргументом должна иметь такой вид: Args.var_name

  на своей стороне достаточно собрать запрос такого вида:

Это вариант для python там выше каждая переменная из этойShort Read more…

vk execute

https://vk.com/dev/execute Продолжаю линейку ознакомительных постов на тему “в мире эльфийских языков программирования” или “говнокод – как стиль жизни“. Был вот такой вот пост, который вроде как-бы объяснял как сделать execute при помощи javascript и все такое: http://habrahabr.ru/post/248725/ но язык, которым была написана статья – выглядит настолько эльфийским, я уже не говорю про сраную разметку, которая съехала набикрень просто, как и моя голова, с несозревшими пайтоновскими правилами отступов тоже съехала. Так вот, пытаясь разобраться в этих письменах и отделить зерна от плевел, чтобы наконец понять, как работает этот долбанный vk execute мне пришлось убрать весь говнокод, чтобы найти чистый vk execute, также используя хорошую, но не очевидную, документацию ВК по ссылке выше, я смог родить то, чего пока, мне кажется, никто не родил: Простой иShort Read more…