aureliowozhiak / DLaaS

Data Lake as a Service
23 stars 6 forks source link

Definir fontes de dados RAW #2

Closed aureliowozhiak closed 11 months ago

aureliowozhiak commented 1 year ago

Definir algumas fontes de dados para testar as classes de conectores (apis, scrappers, bancos de dados e outras)

aureliowozhiak commented 1 year ago

API para teste: https://www.freetogame.com/api-doc

aureliowozhiak commented 1 year ago

Para scrapper, é bom ter alguns sites variados, Wikipedia, Sites de noticias, blogs genericos, e outras coisas.

Também é interessante fazer scrapper em buscadores (google, duckduckgo, bing, etc)

Priscaruso commented 1 year ago

Para scrapper, é bom ter alguns sites variados, Wikipedia, Sites de noticias, blogs genericos, e outras coisas.

Também é interessante fazer scrapper em buscadores (google, duckduckgo, bing, etc)

Web scraping para teste: https://books.toscrape.com/

Eu já utilizei esse site específico para treinar web scraping. Serviria também?

aureliowozhiak commented 1 year ago

Ótimo @Priscaruso, uma coisa que podemos implementar, inclusive, é uma "recursão" dentro do site, extraindo todos os links internos e navegado até pegar tudo de todas as paginas existentes, e esse site parece ser ótimo para testar esse tipo de coisa.

Priscaruso commented 1 year ago

Boa @aureliowozhiak. Se não me engano, eu já fiz isso nesse site mesmo em um outro projeto, mas usando funções. Para esse projeto a ideia seria implementar com classes?

aureliowozhiak commented 1 year ago

Boa @aureliowozhiak. Se não me engano, eu já fiz isso nesse site mesmo em um outro projeto, mas usando funções. Para esse projeto a ideia seria implementar com classes?

sim, dá uma olhadinha nessa classe: https://github.com/aureliowozhiak/DLaaS/blob/main/methods/extractors/webPageDataScrappers.py

nesse exemplo de utilização: https://github.com/aureliowozhiak/DLaaS/blob/main/main.py

e nesse arquivo de configuração: https://github.com/aureliowozhiak/DLaaS/blob/main/config_files/webscrapper.json

acho que isso pode te dar um contexto melhor, se quiser, pode chamar ali no discord.

Priscaruso commented 1 year ago

@aureliowozhiak todas as fontes web vão ficar no config_files webscrapper.json?

aureliowozhiak commented 1 year ago

então, a ideia é ter os arquivos de configuração para organizar, então num primeiro momento podemos colocar tudo no webscrapper.json, mas como a lógica no main.py está:

if "webscrapper" in filename:
                webscrapper = WebPageDataScrappers(url)

o arquivo só precisa conter "webscrapper" no nome, então da pra ter mais de um arquivo de configuração para esse metodo, por exemplo:

todos esses vão funcionar pois contem a palavra no nome do arquivo.

O mesmo vale para as outras fontes, "api", "mysql" e outros que vão surgindo.

Priscaruso commented 1 year ago

@aureliowozhiak A ideia da classe WebPageDataScrappers é ser uma superclasse, podendo ter subclasses com características diferentes para outras fontes web?

aureliowozhiak commented 1 year ago

@Priscaruso a ideia é ser uma classe que faça tudo de forma generica, se necessario vai ter subclasses, mas o ideal é que tudo seja atendido de forma generica independente da fonte