Гусь. Начало истории…

Привет, я Эндрю. Хочу рассказать о своем первом опыте работы с открытым кодом и о разработанном проекте - Goose Parser.



Возвращаясь к концу 2015 года, когда эта история началась, я работал старшим разработчиком PHP в одной туристической компании, назовем ее D. И на тот момент у меня не было опыта работы с Node.js. Язык был выбран из-за множества полезных инструментов, таких как PhantomJS, Puppeteer и других с хорошими API-интерфейсами и функциональностью, позволяющей делать что угодно на веб-странице.

Назови это

Так почему же его назвали таким странным именем, как Гусь ?! Хороший вопрос. Первоначальное название было - Fantastic Unified Crawler Kit, вы можете себе представить аббревиатуру этого названия. Это было достаточно забавно, но не то, что можно продвигать и продавать как продукт, слишком мрачно… Примерно в то время у меня была возможность поработать в лондонском офисе D на несколько недель. Мне очень понравились люди, сообщество TravelTech, город, пабы, парки и особенно много разных животных, которые свободно приходили и уходили в зеленых зонах города. Белки, гуси, лебеди, олени… Наконец, я пошел в магазин игрушек Hamleys и нашел куклу гуся. У него есть свой характер и точка зрения. Итак, окончательное решение принято и название проекта изменено. Через некоторое время мы сняли короткий видео-трейлер про Гуся. Вот:

Если честно, существует множество существующих фреймворков для отказа. И Гусь должен быть одним из них. Однако мы планировали создать что-то, что вы можете запустить самостоятельно, а также масштабировать это до платформы, где вы можете выполнить скрипт парсинга в облаке, поделиться им с кем угодно и даже продать. на рынке.

Функции

Итак, давайте подробнее рассмотрим возможности Goose:

  1. Его можно запускать в разных средах с одинаковым результатом. Это просто означает, что вы можете использовать один и тот же скребок в браузере, Chromium, PhantomJs, JsDom и т. Д.
  2. Он абстрагируется от реальной среды и дает определенные действия и преобразования, которые могут быть выполнены вместе с утилизацией.
  3. Правила для парсера определены в формате JSON, поэтому вы можете легко сохранить их в базе данных, а также поделиться и использовать с другими пользователями, которые хотят очистить тот же контент.
  4. Результат отмены также представлен в виде данных JSON.
  5. В коробке Goose создается с несколькими средами в отдельных контейнерах Docker, поэтому вы можете просто запустить его как команду CLI, не имея ничего, кроме Docker на вашем компьютере.
  6. Мы используем библиотеку debug, чтобы упростить процесс отладки на случай, если что-то пойдет не так.
  7. Goose предоставляет множество дополнительных компонентов, которые значительно экономят ваше время при выполнении обычных задач по удалению, таких как разбиение на страницы, обнаружение капчи / блокировки, ротация прокси и многое другое.

Пусть это код

Вот простой пример того, как Goose может извлекать для вас Интернет.

А вот пример использования CLI (на базе Docker):

Последние мысли

Goose - это модный фреймворк для удаления веб-страниц, который был запущен как инструмент с открытым исходным кодом в одном репозитории. Позже части Goose были перемещены в отдельные репозитории, чтобы минимизировать исходный размер библиотеки и обеспечить выполнение парсера в нескольких средах. Он имеет множество полезных функций и может запускаться как контейнер Docker, что значительно упрощает процесс разработки новых парсеров.

Хотите попробовать?

Если да, то зайдите на goose.show, чтобы узнать больше!
Это бесплатно и с открытым исходным кодом!

Если у вас есть какие-либо вопросы или отзывы, вы можете:

  1. Прокомментируйте эту статью.
  2. Напишите мне в Twitter или LinkedIn
  3. Подпишитесь на телеграм-канал Парсер

Спасибо за ваше время!