Skip to content

Microservice scrapping images and text from requested websites

License

Notifications You must be signed in to change notification settings

mas15/ScrappingService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scrapping project

Mikroserwis pobierający zdjęcia i tekst ze stron www. Funkcjonalność

  • Zlecenie pobrania tekstu z danej strony internetowej i zapis jej w systemie.
  • Zlecenie pobrania wszystkich obrazków z danej strony i zapis ich w systemie.
  • Sprawdzenie statusu zleconego zadania.
  • Możliwość pobrania stworzonych zasobów (tekstu i obrazków)

Getting Started

Aplikacja dostaje zapytania poprzez RESTowe API wystawione przez jeden z serwisów. Serwis z API wysyła zadanie pobrania zasobów konkretnej strony internetowej do serwisu scrape'ującego. Zadania są kolejkowane w Rabbicie i serwis scrape'ujący w miare możliwosci pobiera kolejne (liczba wykonywanych zadań zależy odilości workerów (domyślnie 10)).

Kod nie sprawdza zbytnio wyjątków i innych nieprzewidzianych sytuacji. W celu lepszego crawlowania (np zaciągania danych z kolejnych podstron na wybranej domenie trzebaby użyć normalnie scrapy'iego.

Prerequisites

To run a service you need docker and docker-compose. To run service locally and run tests you will need:

  • python3 + pyenv/venv + requirements

  • rabbitmq

    sudo apt-get install rabbitmq-server

    sudo rabbitmq-plugins enable rabbitmq_management

Deployment

Docker images are build using Dockerfile. To build the image run:

docker build -t scrapper_base .

And run the stack with command:

docker-compose up

Running the tests

Having requirements installed:

cd app

python -m pytest tests

Built With

  • Python
  • Docker
  • RabbitMQ

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Microservice scrapping images and text from requested websites

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published