https://github.com/iewher/habr-parser
Automatic mailing of vacancies
https://github.com/iewher/habr-parser
golang mailersend parser
Last synced: about 1 year ago
JSON representation
Automatic mailing of vacancies
- Host: GitHub
- URL: https://github.com/iewher/habr-parser
- Owner: iewher
- License: mit
- Created: 2023-10-01T15:10:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T15:09:16.000Z (almost 2 years ago)
- Last Synced: 2025-02-17T08:34:26.944Z (over 1 year ago)
- Topics: golang, mailersend, parser
- Language: Go
- Homepage:
- Size: 404 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# habr-parser
Автоматическая рассылка сообщений на почту работодателя.
### Обязательно
1. Создать файл config.json и поместить в корень проекта.
Формат файла:
`mail` - Яндекс почта. На данный момент поддерживается рассылка только с Яндекса.
`pass` - пароль для приложения Яндекса.
```json
{
"mail": "your-mail@yandex.ru",
"pass": "your-pass"
}
```
Заголовок и текст письма ввести в консоль.
### Важно
После использования `parser/main.go` - не удалять файл data.json, он в дальнейшем используется в `mail/main.go`
### Запуск скрипта
#### Вариант 1. С помощью консоли.
В корне проекта:
```bash
# Запуск скрипта, собирающего данные.
go run parser/main.go
# Запуск скрипта, отправляющего почту.
# Строго после завершения первой программы.
go run mail/main.go
```
#### Вариант 1. C помощью makefile.
В корне проекта:
```bash
# Запуск скрипта, собирающего данные.
make parse
# Запуск скрипта, отправляющего почту.
# Строго после завершения первой программы.
make mailer
```
### Этап разработки
Раньше код был написан на TypeScript, результаты:
```bash
Создан файл data.json
Парсер успешно завершен
Обработано вакансий: 250
Обработано сайтов: 52
Обработано почтовых аресов: 20
time: 3:30.032 (m:ss.mmm)
```
Код переписан на Golang, результаты:
```bash
Создан файл data.json
Парсер успешно завершен
Обработано вакансий: 250
Обработано сайтов: 52
Обработано почтовых аресов: 21
Время выполнения: 40.0628108s
```
Обрабатывались 10 страниц, результат перехода с TypeScript на Golang - `80.95
%`
На данном этапе скрипт способен:
1. Пробегать по всем страницам career.habr.com
2. Забирать все вакансии.
3. Переходить на каждую вакансию, забирать оттуда ссылку на сайт.
4. Переходить на каждый сайт, забирать доступные почты, для дальнейшего использования.
5. Отправлять сообщение на почту.
### Кратко
Все данные сохраняются после исполнения программы в файле data.json, в формате:
```json
{
"Vacancies": [],
"Sites": [],
"Mail": [],
}
```