Що нового?

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

Інформація про покупку
Тип покупки: Складчина
Ціна: 75270 ГРН
Учасників: 0 з 509
Організатор: Відсутній
Статус: Набір учасників
Внесок: 153.8 ГРН
0%
Основний список
Резервний список

Gadzhi

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

Продолжение (темы поддержки):
1.

***
Приветствую!

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

Набор предназначен для тех:
  1. кто занимается или планирует заниматься созданием шаблонов ZennoPoster в связке с C#;
  2. у кого какие-либо проблемы с освоением связки ZennoPoster+C#;
  3. кому не хватает практических примеров по ZennoPoster+C#.
Рекомендуемый уровень - знание основ написания шаблонов 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. Однако, можно рассмотреть другой сайт - предлагайте свои варианты в теме, либо ставьте "Мне нравится" понравившимся вариантам других пользователей.

Условие получение бонусных проектов - помощь в рекламе складчины.
Если Ваш статус Член клуба и выше - ссылка на складчину в подпись.
Если Ваш статус Складчик - 1 рекламное сообщение в смежной теме.


Поддержка

Для складчины предусмотрена поддержка в приватках по вопросам продукта. Также, можно задавать вопросы вообще по работе со связкой ZennoPoster+C#.
Если Вы являетесь участником Академии ZennoPro, возможно даже знаете меня по моим ответам в приватках и ведении коучинга для в теме "Публичный коучинг". Соответственно, можете приблизительно оценить мою поддержку.
Также, в приватках планирую публиковать свои интересные находки и наработки по данной теме. Возможно, что-то ещё придумаю. В этом аспекте настроен ориентироваться больше на опытных пользователей, так что последним тоже наверняка будет что найти интересно для себя, участвуя в данной складчине.


Нужны проверяющие, хорошо ориентирующиеся в Zenno+C#.

Отзывы проверяющих:

 
Угорі