Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mx4alex/webcrawler
🕸️🕷️Golang webcrawler with Elasticsearch
https://github.com/mx4alex/webcrawler
docker elasticsearch golang postgres redis
Last synced: about 1 month ago
JSON representation
🕸️🕷️Golang webcrawler with Elasticsearch
- Host: GitHub
- URL: https://github.com/mx4alex/webcrawler
- Owner: mx4alex
- Created: 2024-07-16T12:52:02.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-22T19:50:50.000Z (4 months ago)
- Last Synced: 2024-09-29T05:04:53.049Z (about 2 months ago)
- Topics: docker, elasticsearch, golang, postgres, redis
- Language: Go
- Homepage:
- Size: 11.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# webcrawler
Сервис, который индексирует web-страницы в Elasticsearch, а также возвращает ссылки на страницы по введенному запросу## Архитектура
![image](https://github.com/user-attachments/assets/654018cc-4c79-416c-85c7-a2b7f2f2868a)
Для полнотекстового поиска используется Elasticsearch, в котором хранится ключевые слова содержания web-страниц. Для хранения полной информации о странице используется Postgres.## Установка и конфигурация
- Склонировать репозиторий:
```
[email protected]:mx4alex/webcrawler.git
```
- Настроить конфигурацию в файле `config.yaml`
- Запустить *docker compose*
```
docker compose up --build
```## Использование
### Сервис поддерживает следующий эндпоинт:
- `GET /webcrawler/search/{input}` выполняет поиск web-страниц по введенному запросу* Формат запроса:
```
curl -X GET http://localhost:8080/webcrawler/search/Технология
```
* Формат ответа:
```json
[
{
"url": "https://indicator.ru/engineering-science/startap-iz-sfu-razrabotal-tekhnologiyu-obogasheniya-grafita-sposobnuyu-izmenit-rynok-materialov-05-07-2024.htm",
"text": "Гильманшина. Основной инновацией проекта является технология термического обогащения графита, что позволит"
},
{
"url": "https://indicator.ru/medicine/rasshifrovannyi-genom-shtamma-listerii-pomozhet-sdelat-vakciny-bezopasnee-05-07-2024.htm",
"text": "до начала XXI века оставалась технология получения вакцин путем аттенуации вакцинных"
},
{
"url": "https://indicator.ru/mathematics/cfa-dadut-novyi-tolchok-v-razvitii-klassicheskikh-finansovykh-instrumentov.htm",
"text": "консенсуса и их нельзя изменить. Технология распределенного реестра — и блокчейна"
},
{
"url": "https://indicator.ru/medicine/pmef-2024-ne-vmesto-a-vmeste-potencial-primeneniya-ii-v-rossiiskom-zdravookhranenii.htm",
"text": "инструмента; риск потери времени, когда технология уже готова, но не применяется"
},
{
"url": "https://indicator.ru/medicine/novyi-podkhod-uprostit-monitoring-krovotoka-pri-operaciyakh-na-golovnom-mozge-19-03-2024.htm",
"text": "кровотечениях или появлении бликов, новая технология демонстрирует значительный потенциал для улучшения"
}
]
```