Um template para começar o desenvolvimento de apps
Project description
Zap Scrapper - Imoveis em Poços de Caldas
Scrapper para obter dados de imóveis na cidade de Poços de Caldas, MG. O aplicativo roda o scrapper, formata os dados e faz o load numa base de dados privada do PostgreSQL.
1. Instalação
A instalação é dada através do pip
:
$ pip install pc_zap_scrapper
2. Configurando a conexão com o banco
Na etapa de load do banco de dados, é necessário fornecer as credenciais do banco de dados. Serão necessárias as informações:
DB_USERNAME
DB_PASSWORD
DB_NAME
DB_HOST
DB_PORT
Esses dados podem ser passados manualmente ou através de arquivo .env
2.a Configuração manual das credenciais
Basta rodar:
$ zapscrap configure -p path/to/.env
e fornecer cada uma das informações requeridas.
2.b Configuração através do arquivo .env
alternativamente, pode-se definir o .env
com as informações necessárias.
# Arquivo .env para conexão com banco de dados PostgreSQL
DB_USERNAME=nome_do_usuario
DB_PASSWORD=admin123
DB_NAME=nome_da_base
DB_HOST=esse_e_meu.host
DB_PORT=0000
Salve esse arquivo em qualquer lugar; por exemplo, em path/to/.env
. Depois, rode o comando
$ zapscrap configure -p path/to/.env
3. Utilização
O scrapping, seguido da sanitização dos dados e carregamento no banco de dados é feito simplesmente com o comando:
# Exemplo do uso do comando 'zapscrap'
$ zapscrap
Após sua chamada, você deverá ver um barra de progresso indicado a evolução do processo de raspagem de dados.
É também possível executar individualmente cada etapa dessa ETL. Isso está documentado nas seções posteriores
3.1 Webscrapping para extração de dados
Para executar o Scrapping, basta utilizar o comando zapscrap search
. Esse comando tem quatro argumentos básicos:
action
(-a
ou--action
): Define se você está procurando por imóveis a venda ou para aluguel. Por padrão, está configurado como "venda".
# Exemplo do uso do argumento 'action'
$ zapscrap search -a venda
estate_type
(-t
ou--estate_type
): Define se você vai procurar por casas, apartamentos ou ambos. Por padrão, esta configurado com o valor "imoveis", que representa casas e apartamentos.
# Exemplo do uso do argumento 'estate_type'
$ zapscrap search -t imoveis
estate_type
(-l
ou--location
): Define o local onde procurar. O formato deve ser uf+nome-da-cidade. Por exemplo, para São Paulo capital de ve ficar como sp+sao-paulo.
# Exemplo do uso do argumento 'location'
$ zapscrap search -l mg+pocos-de-caldas
max_pages
(-m
ou--max_pages
): Define o alcance da paginação. Por exemplo, se for escolhido p valor 3 para esse parâmetro, apenas as três primeiras páginas serão retornadas. Por padrão, é atribuido a ele o valorNone
que indica ao scrapper para trazer todas as páginas.
# Exemplo do uso do argumento 'max_pages'
$ zapscrap search -m 2
Após o scrapping, o programa irá manter os dados na memórias da forma como foram consultados
3.2 Formatação dos dados
Em seguida, deve-se formatar os dados para o esquema necessário na ingestão.
# Exemplo do uso do comando 'format-data'
$ zapscrap format-data
3.3 Ingestão no banco
Por último, já com a base sanitizado, deve-se executar a ingestão de fato:
# Exemplo do uso do comando 'db-ingest'
$ zapscrap db-ingest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pc_zap_scrapper-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aac32b9ceee74c5bc4ca7ea1b6ab1c3dcab3c436d4d3d572d346606cbd68e4b8 |
|
MD5 | 3cb4aa1ca964f0c9655ba8876a19f9f8 |
|
BLAKE2b-256 | 0b53e1c7529c2e803a9bebf0cde08bf937fe4caf6a29595915fcb5f22b89353e |