Активно Набор шаблонов и сниппетов ZennoPoster + C# для самообучения

Vell

Организатор
Член Клуба
Набор шаблонов и сниппетов ZennoPoster + C# для обучения

Данный продукт представляет собой набор открытых шаблонов и сниппетов ZennoPoster, предназначенных для самостоятельного изучения и использования в качестве готовых шаблонов. На старте это небольшой комплект с символическим ценником. Если будет проявлен интерес к складчине, буду расширять набор, добавлять новые шаблоны и сниппеты, выкладывать свои наработки, возможно делать мини-статейки или обзоры на фичи новых билдов ZennoPoster.
Все шаблоны написаны на C#, практически весь код закомментирован, что за что отвечает. Непонятные вещи также можно спрашивать в приватной ветке.

Набор предназначен для тех:
1) кто занимается или планирует заниматься созданием шаблонов ZennoPoster в связке с C#;
2) у кого какие-либо проблемы с освоением связки ZennoPoster+C#;
3) кому не хватает практических примеров по ZennoPoster+C#.

На всякий случай хочу заострить внимание - это не ещё один курс по ZennoPoster, а именно набор наработок и заготовок в помощь начинающим (и не только). Никаких видео и прочего подобного не будет, максимум - периодические мини-статьи/мини-обзоры на мои интересные находки, наработки, фичи новых билдов ZennoPoster. Для полноценного обучения - добро пожаловать в Академию по ссылке выше.

Текущий состав набора.

1. Проект парсера в 9 вариантах реализации

Помимо прочего, в начале каждого варианта в виде комментариев записаны краткое описание и номера строк, в которых что-то изменено или добавлено, по сравнению с предыдущим более простым вариантом.

Варианты шаблона.

1. Простой парсер. Самая простейшая реализация на C#, используются простые и понятные конструкции. Выгрузка результатов парсинга в таблицу проекта.
2. Парсер с перебором страниц. Добавлены алгоритм перехода на следующие страницы и возможность задать количество страниц, с которых нужно снять данные, по каждому ключевому запросу.
3. Парсер с выбором региона. В яндексе можно задать регион, в котором будет осуществляться поиск. В этом варианте рассмотрен добавление такого функционала.
4. Парсер со входными настроками. Показан принцип вынесения настроек шаблона во входные настройки. Помимо прочего, в шаблон добавлены случайные паузы в диапазоне, задаваемом во входных настройках.
5. Парсер с проверками. При работе шаблона возможны внештатные ситуации, их нужно стараться предусмотреть и сделать грамотную обработку ошибок. Добавлен функционал проверок на корректность значений из входных настроек, проверок доступности элементов страницы при парсинге.
6. Парсер на GET-запросах. В этом варианты представлен предыдущий шаблон, переделанный под простейший вариант парсинга через GET-запросы.
7. Парсер на GET-запросах (HtmlAgilityPack). Другой вариант парсера на запросах, с помощью библиотечки HtmlAgilityPack.dll (парсинг результата запроса через XPath). Уже полностью без использования браузера.
8. Парсер с выгрузкой в базу данных MySQL. В этом варианте собранные данные сразу отправляем в табличку в БД. Для работы с базой используем стандартные методы ZennoPoster.Db.
9. Парсер с выгрузкой в базу данных SQLite. Пример работы с локальной базой данных SQLite, используем dll-библиотеку System.Data.SQLite.
+ Бонусный сниппет для 9 варианта. Получаем данные из БД и сохраняем их в Excel с помощью библиотечки EPPlus. При этом рассматриваем усложненный вариант - делаем различные выборки на разные листы, на отдельном листе создаём содержание со ссылками.
Также, в бонусном сниппете используется методы из Общего кода (тоже с комментариями).

2. Проект с разбором виртуальной мыши FullEmulationMouse (появилась в ZennoPoster 5.10.4.0)


В этом проекте дано описание всех доступных в настоящий момент методов и свойств FullEmulationMouse, с примерами использования. А именно:
  • FullEmulationMouseMoveToHtmlElement - метод перемещения курсора мыши к заданному элементу
  • FullEmulationMouseMove - метод перемещения курсора мыши к заданным координатам
  • FullEmulationMouseClick - метод клика мышью
  • FullEmulationMouseMoveAboveHtmlElement - метод эмуляция чтения заданного элемента
  • FullEmulationMouseCurrentPosition - свойство, возвращающее текущую позицию мыши
  • FullEmulationMouseSetOptions - метод, устанавливающий некоторые параметры мыши
Помимо прочего, в виде комментариев в сниппетах описаны некоторые нюансы, которые полезно знать при использовании этой реализации виртуальной мыши.
Для создания практических примеров использовался сайт techcrunch.com.
Бонусные проекты

1. Проект последнего варианта парсера яндекса, выполненный в CodeCreator.
2. Проект гулялки по сайту с использованием виртуальной мыши FullEmulationMouse.
В качестве сайта для гулялки пока выбрал Википедию, так как она имеет довольно сложную структуру для эмуляции "чтения" с помощью методов FullEmulationMouse. Однако, можно рассмотреть другой сайт - предлагайте свои варианты в теме, либо ставьте "Мне нравится" понравившимся вариантам других пользователей.
View hidden content is available for registered users!
 
Сверху
... ...