/habr-parser

Automatic mailing of vacancies

Primary LanguageGoMIT LicenseMIT

logo

habr-parser

Автоматическая рассылка сообщений на почту работодателя.

Обязательно

  1. Создать файл config.json и поместить в корень проекта.

Формат файла:

mail - Яндекс почта. На данный момент поддерживается рассылка только с Яндекса.

pass - пароль для приложения Яндекса.

{
  "mail": "your-mail@yandex.ru",
  "pass": "your-pass"
}

Заголовок и текст письма ввести в консоль.

Важно

После использования parser/main.go - не удалять файл data.json, он в дальнейшем используется в mail/main.go

Запуск скрипта

Вариант 1. С помощью консоли.

В корне проекта:

# Запуск скрипта, собирающего данные.
go run parser/main.go
# Запуск скрипта, отправляющего почту.
# Строго после завершения первой программы.
go run mail/main.go

Вариант 1. C помощью makefile.

В корне проекта:

# Запуск скрипта, собирающего данные.
make parse
# Запуск скрипта, отправляющего почту.
# Строго после завершения первой программы.
make mailer

Этап разработки

Раньше код был написан на TypeScript, результаты:

Создан файл data.json
Парсер успешно завершен
Обработано вакансий: 250
Обработано сайтов: 52
Обработано почтовых аресов: 20
time: 3:30.032 (m:ss.mmm)

Код переписан на Golang, результаты:

Создан файл data.json
Парсер успешно завершен
Обработано вакансий:  250
Обработано сайтов:  52
Обработано почтовых аресов:  21
Время выполнения:  40.0628108s

Обрабатывались 10 страниц, результат перехода с TypeScript на Golang - 80.95 %

На данном этапе скрипт способен:

  1. Пробегать по всем страницам career.habr.com
  2. Забирать все вакансии.
  3. Переходить на каждую вакансию, забирать оттуда ссылку на сайт.
  4. Переходить на каждый сайт, забирать доступные почты, для дальнейшего использования.
  5. Отправлять сообщение на почту.

Кратко

Все данные сохраняются после исполнения программы в файле data.json, в формате:

{
    "Vacancies": [],
    "Sites": [],
    "Mail": [],
}