Skip to content

iewher/habr-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

habr-parser

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

Обязательно

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

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

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

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

{
  "mail": "[email protected]",
  "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": [],
}

About

Automatic mailing of vacancies

Topics

Resources

License

Stars

Watchers

Forks