Just my blog
Blog about everything, mostly about tech stuff I made. Here is the list of stuff I'm using at my blog. Feel free to ask me about implementations.
- Mobaxterm SSH RDP FTP...
- Thunderbird Email client
- Filezilla FTP client/server
- Nirsoft Win utils
- Sysinternals Win utils
- Pi-Hole AD block by DNS
- NUT UPS manager
- Rpi MON Raspberry monitoring
- Free CAD 3D modelling
- Free Commander Far-like filemanager
- Bitwarden Password manager
- Django web framework
- celery multi-tasking
- celery-beat Celery + Django
- celery-results Celery + Django
- Pillow Python image lib
- wsgi mod Apache + Python
- requests best in WEB requests
- openpyxl make Excell docs
- p4python Perforce + Python
- paramiko SSH + Python
- pyvmomi ESXi Vcenter + Python
I'm using these libraries so you can ask me about them.
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; var listSeparator = ","; var listItemsType = "integer"; var result = []; var charsLength = myList.length; var currentPosition = 0; var previousSeparatorPosition = -1; var item; while (currentPosition < charsLength) { if (myList.substr(currentPosition, 1) == listSeparator) { item = myList.substr(previousSeparatorPosition + 1, currentPosition - previousSeparatorPosition - 1); if (listItemsType == "integer") { item = parseInt(item); } result.push(item); previousSeparatorPosition = currentPosition; } currentPosition = currentPosition + 1; } var post_id; var posts = result; var all_comments = []; while (posts.length != 0){post_id = posts.shift(); var owner_id = Args.owner_id; var comments = API.wall.getComments( {"owner_id":(owner_id), "post_id":(post_id), "need_likes":"1", "offset":"0", "count":"100", "sort":"asc", "preview_length":"1", "extended":"0", "v":"5.27"}); var comments_cnt = comments.count; comments = comments.items; var offset_comments = 100; while (offset_comments < comments_cnt) {comments = comments + API.wall.getComments( {"owner_id":(owner_id), "post_id":(post_id), "need_likes":"1", "offset":(offset_comments), "count":"100", "sort":"asc", "preview_length":"1", "extended":"0", "v":"5.27"} ).items; offset_comments = offset_comments + 100;}; all_comments = all_comments+comments; }; return all_comments;
Хух блять, пользуйтесь, кому попадется.