Мой скрипт для reddit.com



  • reddit

    Всем привет.
    Это мой первый скрипт на BAS.
    Посмотрите, кому не сложно, и скажите что не правильно я сделал в нём.
    Буду рад любой критике.

    upd
    Забыл написать назначение скрипта.
    Скрипт для парсинга постов с реддита по вашему поисковому запросы. Парсит картинку и текст. Всё сохраняется в файлы.

    Скачать - reddit.xml

    P.S. Есть ошибка в скрипте, не сохраняются фото в нужную папку, если путь задать через ресурсы (пока не понял почему).



  • Ни у кого нет желания или тут большинсво "просящие"?)



  • @Habip здесь только @Fox просто гуляет :D а мы же ищем ответы на свои вопросы, т.е. своей головной боли хватает



  • @Habip
    Напишите что он умеет хотя бы. Чтоль...и причем тут поддержка? Когда логичнее его сунуть в "Делюсь скриптами"



  • @Habip said in Мой скрипт для reddit.com:

    Ни у кого нет желания или тут большинсво "просящие"?)

    Вы перечитайте свой пост, вы не написали для чего именно ваш скрипт? Как в таком случае можно оценивать его "правильность"?
    Скрипт я глянул и далеко не сразу понял, что он парсит посты с сайта.

    У вас данные постов сохраняются в отдельные файлы (Имя поста, url, текст поста)
    8236dda1-2974-4eff-9126-55b875a4e069-изображение.png

    это дико не удобно. Если понадобится найти название поста по его содержанию или url, то искать придётся в разных файлах, в которых уйма других данных.
    Лучше сохранять каждый пост в отдельную папку, в папку сохранять текстовый документ с названием и описанием поста и скриншот. Пользователю в таком случае нужно будет указать только лишь папку для сохранения постов.

    В функции "PROXY" вы устанавливаете User-Agent из ресурса, но селекторы используете одни. Есть вероятность, что сайт имеет несколько стилей для разных устройств, в этом случае селекторы будут другими и парсер выдаст ошибку.

    Во всех действиях "Запись В Файл" вы используете ресурс "из файла" в поле "Путь к файлу". Для понимания процесса работы ресурсов опишу логику: выводя ресурс, вы получаете его содержимое, а не путь до него. Что бы определить путь до файла, нужно использовать действие "Расположение Ресурса". Для модуля "Файловая система" код определения пути до файла поместили в сами действия, так как раньше пользователи часто сталкивались с этой проблемой.
    По этому действия "Запись В Файл" работают корректно, а в действии "Скачать" нет, так как ресурс "файлы из папки" возвращает (кто бы мог подумать) файлы из папки. Выведите в лог ваш путь до файла

    {{photo}}\img_[[CYCLE_INDEX]].png
    

    и сразу поймёте почему это не работает.


    На разбор и внятное описание у меня ушёл почти час времени. Это очень неблагодарная работа, по этому я не берусь улучшать или разбирать ошибки чужого проекта, даже платно.



  • @vsyacheskiy Я это уже понял, на все мои вопросы (и других) отвечают 2,5 человека. Жаль что коммьюнити у софта считай что нет(



  • @000 Да что-то я забыл об этом, обновил старт-пост. Разместил в этом разделе специально, т.к. скрипт-то кривой (я же новичок) и не хотелось бы кого-то ввести в заблуждение. Разместил тут, чтобы указали на какие-то ошибки, я бы всё исправил (понял бы их) и уже "отлаженый" скрипт выложил бы в разделе "Делюсь скриптами"



  • @Fox said in Мой скрипт для reddit.com:

    @Habip said in Мой скрипт для reddit.com:

    Ни у кого нет желания или тут большинсво "просящие"?)

    Вы перечитайте свой пост, вы не написали для чего именно ваш скрипт? Как в таком случае можно оценивать его "правильность"?
    Скрипт я глянул и далеко не сразу понял, что он парсит посты с сайта.

    Да это я забыл совсем сделать, поторопился)

    У вас данные постов сохраняются в отдельные файлы (Имя поста, url, текст поста)
    8236dda1-2974-4eff-9126-55b875a4e069-изображение.png

    это дико не удобно. Если понадобится найти название поста по его содержанию или 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 человека отвечает и думаю тут многие "отвечающим" благодарны за это. Но и нас (новичков) понять можно, вроде документация и видео есть, но не на всё можно найти или понять решение своей задачи, это же только опыт помогает. И помощь опытных товарищей из комьюнити это то что продвигает софт в массы. Спасибо.



  • @Habip а базы данных для сохранения не рассматривались?
    многие проблемы решились бы, хоть и появились новые...



  • @tet-vivi Нет, пока я с БД не разбирался ещё, пробую более простыми методами (пробую как на ютубе показывают делать, да и то не всё получается).



  • @Habip в бд 1 пост это было бы 1 строка с 4 колонками в таблице(чем то напоминает эксель).
    с удобным api для поиска, анализа и др. действий.
    дамп таблицы/бд это 1 файл.
    на диске бд хранит 1 файл для данных таблицы/бд + опциональные файлы.



  • @tet-vivi Спасибо, надо будет попробовать.


Log in to reply
 

  • 7
  • 10
  • 2
  • 21
  • 4
  • 12
  • 5
  • 13