@Fox , я тоже замечал, что если поставить no scroll, то БАС может в упор не видеть изображение, которое точно на экране и загрузилось хоть 10 минут назад.
Мой скрипт для reddit.com
-

Всем привет.
Это мой первый скрипт на BAS.
Посмотрите, кому не сложно, и скажите что не правильно я сделал в нём.
Буду рад любой критике.upd
Забыл написать назначение скрипта.
Скрипт для парсинга постов с реддита по вашему поисковому запросы. Парсит картинку и текст. Всё сохраняется в файлы.Скачать - reddit.xml
P.S. Есть ошибка в скрипте, не сохраняются фото в нужную папку, если путь задать через ресурсы (пока не понял почему).
-
@Habip said in Мой скрипт для reddit.com:
Ни у кого нет желания или тут большинсво "просящие"?)
Вы перечитайте свой пост, вы не написали для чего именно ваш скрипт? Как в таком случае можно оценивать его "правильность"?
Скрипт я глянул и далеко не сразу понял, что он парсит посты с сайта.У вас данные постов сохраняются в отдельные файлы (Имя поста, url, текст поста)

это дико не удобно. Если понадобится найти название поста по его содержанию или url, то искать придётся в разных файлах, в которых уйма других данных.
Лучше сохранять каждый пост в отдельную папку, в папку сохранять текстовый документ с названием и описанием поста и скриншот. Пользователю в таком случае нужно будет указать только лишь папку для сохранения постов.В функции "PROXY" вы устанавливаете User-Agent из ресурса, но селекторы используете одни. Есть вероятность, что сайт имеет несколько стилей для разных устройств, в этом случае селекторы будут другими и парсер выдаст ошибку.
Во всех действиях "Запись В Файл" вы используете ресурс "из файла" в поле "Путь к файлу". Для понимания процесса работы ресурсов опишу логику: выводя ресурс, вы получаете его содержимое, а не путь до него. Что бы определить путь до файла, нужно использовать действие "Расположение Ресурса". Для модуля "Файловая система" код определения пути до файла поместили в сами действия, так как раньше пользователи часто сталкивались с этой проблемой.
По этому действия "Запись В Файл" работают корректно, а в действии "Скачать" нет, так как ресурс "файлы из папки" возвращает (кто бы мог подумать) файлы из папки. Выведите в лог ваш путь до файла{{photo}}\img_[[CYCLE_INDEX]].pngи сразу поймёте почему это не работает.
На разбор и внятное описание у меня ушёл почти час времени. Это очень неблагодарная работа, по этому я не берусь улучшать или разбирать ошибки чужого проекта, даже платно.
-
@vsyacheskiy Я это уже понял, на все мои вопросы (и других) отвечают 2,5 человека. Жаль что коммьюнити у софта считай что нет(
-
@000 Да что-то я забыл об этом, обновил старт-пост. Разместил в этом разделе специально, т.к. скрипт-то кривой (я же новичок) и не хотелось бы кого-то ввести в заблуждение. Разместил тут, чтобы указали на какие-то ошибки, я бы всё исправил (понял бы их) и уже "отлаженый" скрипт выложил бы в разделе "Делюсь скриптами"
-
@Fox said in Мой скрипт для reddit.com:
@Habip said in Мой скрипт для reddit.com:
Ни у кого нет желания или тут большинсво "просящие"?)
Вы перечитайте свой пост, вы не написали для чего именно ваш скрипт? Как в таком случае можно оценивать его "правильность"?
Скрипт я глянул и далеко не сразу понял, что он парсит посты с сайта.Да это я забыл совсем сделать, поторопился)
У вас данные постов сохраняются в отдельные файлы (Имя поста, url, текст поста)

это дико не удобно. Если понадобится найти название поста по его содержанию или url, то искать придётся в разных файлах, в которых уйма других данных.
Лучше сохранять каждый пост в отдельную папку, в папку сохранять текстовый документ с названием и описанием поста и скриншот. Пользователю в таком случае нужно будет указать только лишь папку для сохранения постов.Дело в том что я думал сделать всё по папкам (видел видео на ютубе), то есть 1 пост = 1 папка, но я подумал что это не правильно, т.к. постов может быть, и 100, и 1000. Моя задумка была чтобы было всё в текстовых файлах отдельно + скрин, чтобы потом эти данные пользователь смог вставить в другой мой проект (будущий) постинга в твиттер (иными словами не предполагалось что эти файлы кто-то будет читать и вручном режиме использовать), но может это и ошибка, т.к. я ещё не совсем понимаю как правильно постить и исходя из этого я решил что подсовывать отдельные файлы проще, чем один общий и плясать с бубном заставляя БАС читать строки из одного файла (простите за сумбур, как смог так и описал задумку).
В функции "PROXY" вы устанавливаете User-Agent из ресурса, но селекторы используете одни. Есть вероятность, что сайт имеет несколько стилей для разных устройств, в этом случае селекторы будут другими и парсер выдаст ошибку.
Получается надо для User-Agent сделать свою функцию? И да, вы правы я тестировал только на десктопе (win + chrome)
Во всех действиях "Запись В Файл" вы используете ресурс "из файла" в поле "Путь к файлу". Для понимания процесса работы ресурсов опишу логику: выводя ресурс, вы получаете его содержимое, а не путь до него. Что бы определить путь до файла, нужно использовать действие "Расположение Ресурса". Для модуля "Файловая система" код определения пути до файла поместили в сами действия, так как раньше пользователи часто сталкивались с этой проблемой.
По этому действия "Запись В Файл" работают корректно, а в действии "Скачать" нет, так как ресурс "файлы из папки" возвращает (кто бы мог подумать) файлы из папки. Выведите в лог ваш путь до файла{{photo}}\img_[[CYCLE_INDEX]].pngи сразу поймёте почему это не работает.
Спасибо, буду разбираться, а то я полазил по документации, но так и ничего не понял. Просто когда там был у меня прямой путь к папке куда сохранять (c:\folder\img\img_[[CYCLE_INDEX]].png), всё работало и я не понимал почему не работает с ресурсом, я же фактически передаю тоже значение (тот же путь к папке) только в ресурсе.
На разбор и внятное описание у меня ушёл почти час времени. Это очень неблагодарная работа, по этому я не берусь улучшать или разбирать ошибки чужого проекта, даже платно.
Я это понимаю, вижу что в основном вы и ещё 2,5 человека отвечает и думаю тут многие "отвечающим" благодарны за это. Но и нас (новичков) понять можно, вроде документация и видео есть, но не на всё можно найти или понять решение своей задачи, это же только опыт помогает. И помощь опытных товарищей из комьюнити это то что продвигает софт в массы. Спасибо.
-