Django fast hints
Here some fast hints to remember: Migration: cd ~/myproject python manage.py makemigrations python manage.py migrate Alias /static/ “/var/www/smm_tools/site/” Read more…
Here some fast hints to remember: Migration: cd ~/myproject python manage.py makemigrations python manage.py migrate Alias /static/ “/var/www/smm_tools/site/” Read more…
“Вождь Бот” это автоматизированная система ведения рубрик в сообществах и группах в социальных сетях “Вконтакте” и “Facebook” (частично). Над его разработкой трудится пока только один человек, поэтому многие новые функции будут еще появляться, а улучшение уже существующих может занимать много времени. У проекта пока даже нет веб-версии, которая могла бы служить центром управления этими функциями, поэтому их настройка пока происходит вручную, лично разработчиком и частично администратором группы, к которой система будет подключаться. Возможности системы “Вождь Бот” на данный момент следующие: Возможности Вождь Бота: Поздравление участников группы с днем рождения: https://vk.com/wall-46631810_451052 Прогнозы погоды: Стандартный прогноз на день: https://vk.com/wall-46631810_450842 “Угадай погоду”: https://vk.com/wall-46631810_451001 Публикация списка последних 100 забаненных пользователей: https://vk.com/wall-46631810_449891 Проверка наличия предложенных новостей в нескольких группах, и кол-во постов ужеShort Read more…
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: #!/usr/local/bin/python3 # coding=utf-8 from time import strftime, sleep import schedule from vk_del_comments import * from vk_del_comments_older import * import os pid = os.getpid() op = open(“/var/us.pid”,”w”) op.write(“%s” % pid) op.close() token = ” tk_owner_id = “-000000000” tk_group_id = “000000000” tk_domain = “group_domain” curr_date =Short Read more…
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 API! Всего каких-от пару месяцев назад, я бы никуй не понял, в этом эльфийском коде. А теперь посмотрите на меня! Я все равно почти ничего не понимаю, но уже умею им пользоваться! В самом начале, на пути создания няшного приложения под гугл-диск. Read more…
Так выглядит условный порядок в моих тасках на редмайне, сохраню его, чтобы не потерять. Read more…
Крайняя степень эффективности. Теперь скрипт не парсит данные, их парсит сам ВК и возвращает мне лишь списки: айди, комменты, репосты и т.п. Для каждого набора свой список – длина списков всегда одинакова. Дело в том, что ВК не позволяет производить более 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! Собрать 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…
Итак, финишная прамая на сегодня: скрипт на 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 Родил, наконец-то, следующее детище Франкенштейна: взято за основу: 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…