A simple Python script tool and package that uses web crawling concepts to find links and pages around the internet and SQLite databases to store found data.
Due to excessive recursive function calls, tracker.py script is consuming a large amount of RAM and the script keeps getting automatically killed by the terminal, on Ubuntu 20.04.
For solving this issue, please check out these links:
Criar dbbuilder.py - arquivo que cria base de dados
Criar tracker.py - arquivo que controla as classes
Criar crawler.py - arquivo com a classe Crawler
Criar indexer.py - arquivo com a classe Indexer
dbbuilder.py
Arquivo que cria base de dados
Importar sqlite3
Criar tabela de links
Criar tabela de links e conteúdos
tracker.py
Arquivo que controlará as classes.
Solicitar seeds - links base para "raspagem"
Solicitar profundidade para "raspagem"
Iniciar Crawler
Criar lista de links
Iniciar Indexer
Tratar lista de links e armazenar
Criar lista de conteúdos
Tratar lista de conteúdos e armazenar
crawler.py
Este arquivo deverá conter a classe Crawler e funções relativas à web crawling.
Iniciar classe
track() - Desenvolver função que busca links em uma página
scrape() - Desenvolver função que "raspa" página, buscando por título, descrição e conteúdo principal
scrape_list() - Desenvolver função que "raspa" uma lista qualquer de links, fora de Crawler
scrape_links() - Desenvolver função que "raspa" todos os links encontrados em track()
track_with_depht() - Desenvolver função recursiva que busca links em uma página, com um limite de níveis de profundidade scrape_with_depht() - Desenvolver função recursiva que "raspa" uma página e todos os seus links, com limite de níveis de profundidade
indexer.py
Este arquivo deverá conter a classe Indexer e funções relativas ao tratamento de listas de links, excluindo duplicatas, ordenando os links, e armazenando.
Iniciar classe
removed_duplis() - Desenvolver que remove duplicatas de uma lista e retorna uma nova lista sem duplicatas
valid_links() - Desenvolver função que remove links inválidos e retorna uma nova lista apenas com links válidos
order_scraped_links() - Desenvolver função que ordena dicionários com conteúdo de páginas raspadas
store_links() - Desenvolver função que armazena links em arquivo de dados
store_pages() - Desenvolver função que armazena dicionários com conteúdo de páginas raspadas
Finalização
Escrever apresentação e documentação no README.md (em inglês)
Escrever README_PTBR.md
git merge remake
Outras tarefas que não são tão importantes para o desenvolvimento
Mudar o nome do respositório (nenhuma sugestão ainda)