Собирает статьи с заданных ресурсов и предоставляет их через единый интерфейс
Требования к разработке нового парсера:
- Исходники парсера должны располагаться в отдельной папке по пути
./internal/parser
, пример./internal/parser/myparser
- Рекомендуемое наименование пакета парсера (имени файла)
parser
(parser.go
) - Парсер должен реализовывать интерфейс ArticlesParser - пакет
./internal/parser/parser.go
- Парсер должен реализовать функцию создания парсера с таким контрактом
-
func NewParser(cfg parser.Config) parser.ArticlesParser
-
- Для авторегистрации парсера необходимо
- добавить функцию init в своем пакете, в которой зарегистрировать свой парсер, указав его наименование и функцию создания, пример
-
func init() { parser.RegisterParser("myparser", NewParser) }
-
- импортировать пакет парсера черeз underscore в файле
./internal/parser/autoregister/register.go
, пример-
_ "github.com/indikator/aggregator_lets_go/internal/parser/myparser"
-
- указать в конфиге
./configs/config.yaml
секцию с настройками своего парсера, пример- myparser: url: https://myparser.org/news
- добавить функцию init в своем пакете, в которой зарегистрировать свой парсер, указав его наименование и функцию создания, пример
- Для редактирования расписания "cron" необходимо
- В терминале прописать команду
docker exec -it lets_go_aggregator /bin/sh
-lets_go_aggregator
- это имя контейнера - Прописать команду
crontab -e
- означает перейти в редактор файла cron - Нажать клавишу
insert
- произвести нужные изменения - Нажать клавишу
escape
и затем кобинацию клавишShift+:
(:
- там где клавишаж
) и написатьwq
- Для проверки изменений можно вызвать
crontab -l
- В терминале прописать команду