Как сделать парсер на bas

Обновлено: 07.07.2024

Нужно для заказа:

Хорошее понимание того как вы себе представляете работу этого скрипта.
Подробно расписанный алгоритм действий для вашего бота.
Куда что кликать, что выбирать, рандомизировать и т. д.
Идеально было бы чётко сформулированное ТЗ.
Так же, если вы уже зарабатываете на каких то действиях в браузере, могу сделать вам скрипт бесплатно за то, что я получу доп доход.
Преимущественно беру просты скрипты, чекеры, парсеры, постеры, граберы и тому подобное.
Работаю через кворк.

Так же можете писать в телеграмм: @admshop
Лучше пишите в телеграмм, там быстрее отвечу.

клешь рояль

Известный

BAS- Browser automation studio это аналог zenooposter`a который стоит ~100$
Плюс BAS - в нём разберётся даже ребёнок, поэтому я стал его учить
Минус - работа скрипта не очень быстрая

1) Заходим на сайт на который требуется сделать авторегистратор и узнаём требуется ли подтверждение по почте. (буду использовать https://temp-mail.org/ )
Если да то -
Заходим на сайт временной почты ( или майл если удобно ) получаем почту с помощью действия "Получить текст" ( Наводим мышкой на область где находится почта, кликаем левой кнопкой мыши, выбираем "Получить текст" )

Если ваш сайт меняет id поля ввода то:
Проверяем есть ли "Палочка" ( не ебу как называется )


То тогда мы заходим в Браузер -> ввод текста
Допустим нам надо заполнить 3 поля
Действием мы переводим эту "Палочку" на следующее поле ввода.
Имя

Постановка задачи для парсинга

Урок 2. Парсер на Python
Урок 2. Парсер на Python
Урок 2. Парсер на Python
Урок 2. Парсер на Python

Наша задача на этом уроке заключается в том, что бы получить:

  1. Название каждого плагина
  2. Ссылку на плагин
  3. Количество отзывов
  4. Сохранить полученные данные в csv файл

Для начала работы, нам необходимо подготовить свое рабочее окружение,для этого:

  1. Открываем свой Pycharm (Или редактор, который вы используете)
  2. Создаем новый проект
  3. Импортируем библиотеки, как и в предыдущем уроке
  4. Дополнительно импортируем библиотеку csv (import csv)

Отлично, с постановкой задачи мы почти разобрались, ниже у нас код, который является каркасом парсера. Быстро пробежимся по коду, и закрепим наши знания, полученные в прошлом уроке.

  1. Функция get_html() — принимает адрес сайта, и возвращает свойство text объекта response
  2. Функция get_data() — принимает html код. Создаем экземпляр класса BS . Как и в первом уроке, мы передали два параметра ( html , и lxml )
  3. Функция main() — пока пустая функция, если не знакомы с оператором pass, советую почитать про данный оператор
  4. Точка входа

Анализ html разметки страницы

Как мы видим, у нас 4 блока с плагинами, и каждый блок заключен в тег section . Продолжим исследование html разметки страницы. Нам необходимо найти теги, внутри которых находятся необходимы нам данные.

  1. Ссылка на плагин
  2. Текст ссылки на плагин
  3. Количество отзывов

Отлично! Мы с вами проанализировали html код страницы, и выяснили в каких тегах хранятся наши данные. Ниже я описал структуру html страницы.

Урок 2. Парсер на Python

У нас есть структура html разметки, мы наглядно видим до каких тегов нам необходимо добраться, что бы получить нужные нам данные. Следующим шагом, мы напишем парсер, который будет собирать необходимые нам данные.

Создание парсера на Python

Ниже представлен листинг кода, который возвращает нам все найденные теги section .

Как видите в данном коде, появилось небольшое дополнение.

  1. В функции get_data() мы создали переменную articles
  2. Обратились к soup с помощью find_all , что бы найти все теги article , которые есть на странице
  3. Для того, что бы убедиться в том, что мы идем в правильном направлении, мы можем воспользоваться методом len()
  4. return len(article) , в случае если все правильно, то функция вернет нам 16 , так как у нас всего 16 плагинов на странице
  5. Если у вас возникает ошибка, опишите проблему в комментариях

Отлично, по сути наш парсер почти готов. Теперь, наша задача состоит в том, что бы в цикле получить нужные нам данные.

Как видите, с каждым разом к нашему коду добавляется новый функционал. Как вы понимаете основная операция происходит у нас в функции get_data() , и так же у нас появилась новая функция refinde() .

  1. В функции get_data() , мы нашли все теги article , с помощью метода find_all . Данный метод возвращает нам все найденные элементы в виде списка.
  2. Запускаем цикл for, и перебираем полученный список.
    1. Сначала ищем теги h3 , и забираем текст заключенный между ними. Это и есть заголовок нашего плагина
    2. Затем ищем ссылку на заголовок
    3. Далее ищем количество отзывов
    • 1,985 total ratings (без функции refinde)
    • 1985 с функцией refinde()

    Сама функция работает достаточно просто.

    • Функция принимает один аргумент в виде строки
    • Для строки используем метод split() , который по пробелу разбивает строку, и возвращает нам ее в виде списка, из этого списка, мы забираем первый элемент.
    • Первым элементом является число (количество скачиваний), но она содержит запятую, а так как мы хотим сохранить наши данные в csv, то лучше нам от нее избавиться
    • Используем метод replace() , и заменяем запятую на пустой символ

    И так друзья, подведем итоги этой главы. У нас с вами получилось спарсить все нужные данные, если вы все сделали правильно, то у вас должен получится следующий результат.

    В случае если у вас возникают трудности в понимании материала, или у вас другие проблемы, пишите в комментариях, буду рад вам помочь.

    Запись в csv

    Вот мы и подошли в плотную к завершении этого большого урока. Мы получили все данные, которые нас интересовали, но нам теперь их надо как то сохранить. И так, для таких моментов Python предоставляет нам встроенный модуль csv, которым мы и воспользуемся.

    Как видите наш код код изменился, у нас появилась новая функция записи в csv . Поехали разбираться.

    • Внутри функции get_data() мы создали словарь, куда внесли все полученные ранее нами значения
    • Создали функцию write_csv()
      • Функция работает довольно просто, создаем/открываем файл для записи
      • Будьте внимательны с флагами, которые вы указываете. К примеру ‘ w ‘, всегда будет перезаписывать существующий файл, а флаг ‘ a ‘, это как append в списках, добавлять новые данные в конец файла
      • Далее используем writerow() и передаем туда кортеж с нашими данными

      После запуска нашего скрипта, у нас появится файл listplugins3.csv . Открыть данный файл можно как в Excel , так и в другом стороннем редакторе. Конечный результат сбора данных, вы можете увидеть ниже.

      Урок 2. Парсер на Python

      Домашнее задание

      Урок 2. Парсер на Python

      Получите и сохраните, ссылку на тему оформления, и его название. Трудностей у вас возникнуть не должно, если все же они будут, добро пожаловать в комментарии.

      Заключение

      В этом уроке, я постарался насколько это возможно подробно объяснить как все устроено. В следующих уроках, такие подробности будут опущены. Сегодня нам удалось спарсить название/ссылку/рейтинг 16 плагинов. Конечно, это можно было бы сделать и в ручную, и не пришлось бы копаться в коде, и изучать что то. Но представьте себе, что у вас не 16 плагинов, а 10 000 .Для таких случаев и создаются парсеры. Достаточно понять, как устроена структура страницы, и вы одним махом сможете собрать все данные подходящие под ваш шаблон.

      На следующих уроках, мы будем рассматривать и другие виды сайтов, и в целом как правильно писать парсеры, что бы они не падали во время работы, будем использовать try…except конструкции, и прочие. Запомните, чем больше парсеров вы напишите, тем быстрее у вас появится опыт, и понимание того, как все устроено изнутри.

      ► Мой инстаграм: cutt.ly/insta-pd
      ► Telegram канал с бонусами и полезными материалами: cutt.ly/tg-pd
      ► Моя книга по криптовалютам "45 моделей заработка криптовалют": cutt.ly/ebook-45
      ► Мой трейдинг бот "Bitsmart Trade": cutt.ly/bt-trade-bot

      В этом видео вы научитесь работать с прокси списком совместно с циклом FOREACH внутри browser automation studio.
      Также вы научитесь парсить строку с прокси, то есть делить строку на username:pass:ip:port

      Добавляйтесь в друзья:

      ►TikTok - cutt.ly/tt-pd
      ►Вконтакте - cutt.ly/vk-pd
      ►Facebook - cutt.ly/fb-pd
      ►OK - cutt.ly/ok-pd
      ►Telegram - cutt.ly/tg-me-pd

      👱 Я в Децентрализованных Blockchain сетях:

      Павел Дуглас канал Бот Мейкер: Всё про создание ботов для автоматизации любых рутинных действий в бизнесе, заработке или для личных нужд. Узнайте все фишки ботоводов и ботмейкеров на этом канале. Канал ведет эксперт по заработку в интернете, онлайн бизнесу, криптовалютам и автоматизации.

      Возможно вы искали: визуальное программирование,
      примеры программ по bas,
      bas уроки,
      примеры bas,
      заказать скрипт бас,
      bablosoft,
      bas интересные уроки,
      bas новые уроки,
      создание на bas бота под кран,
      browser automation script logic,
      bas с разными задачами,
      browser automation studio tutorial,
      пример скрипта bas,
      уроки по browserautomationstudio,
      browserautomationstudio что это,
      автоматизируем процесс в bas,
      изучаем browserautomationstudio,
      бот для заработка,
      как заработать в интернете,
      заработать школьнику,
      боты для заработка реальных денег,
      зарабатываем легко,
      бот для заработка денег,
      бот для сбора биткоинов,
      создать бот для бизнеса,
      создать бота онлайн,
      создать бота без программирования

      Читайте также: