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.
- Defina as seguintes variáveis de ambiente:
# PostgreSQL connection information
PSQL_USERNAME=username
PSQL_PASSWORD=p4$$w0rd
PSQL_NAME=dbname
PSQL_HOST=host.com
PSQL_PORT=5432
# Scraping parameters
ZAPSCRAP_ACTION=venda
ZAPSCRAP_TYPE=imoveis
ZAPSCRAP_LOCALIZATION=mg+lavras
ZAPSCRAP_MAX_PAGES=15
Uma forma mais simples talvez seja criar um arquivo .env
tal como mostrado acima e rodar:
docker run --rm -it --env-file .env emdemor/zapscrap:latest
Alternativamente, você pode exportar uma a uma ou então utilizar o arquivo .env
para exportar as variáveis:
export $(grep -v '^#' .env | xargs)
Nesse caso, você deverá declarar todas as variáveis de ambiente durante a execução:
docker run --rm -it \
-e PSQL_USERNAME -e PSQL_PASSWORD -e PSQL_NAME -e PSQL_HOST -e PSQL_PORT \
-e ZAPSCRAP_ACTION -e ZAPSCRAP_TYPE -e ZAPSCRAP_LOCALIZATION -e ZAPSCRAP_MAX_PAGES \
emdemor/zapscrap:latest
git clone [email protected]:emdemor/pc_zap_scrapper.git
cd pc_zap_scrapper
2. Instale dependências de sistema necessárias para compilação e para o Google Chrome e ChromeDriver
sudo apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc \
libc-dev \
libssl-dev \
libffi-dev \
libbz2-dev \
liblzma-dev \
libz-dev \
wget \
gnupg \
unzip \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - && \
sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list' && \
apt-get update && \
apt-get install -y --no-install-recommends google-chrome-stable && \
rm -rf /var/lib/apt/lists/*
CHROME_DRIVER_VERSION=$(wget -qO- https://chromedriver.storage.googleapis.com/LATEST_RELEASE) && \
wget -O /tmp/chromedriver.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip && \
unzip /tmp/chromedriver.zip -d /usr/local/bin/ && \
rm /tmp/chromedriver.zip && \
chmod +x /usr/local/bin/chromedriver
pip install playwright==1.48.0
playwright install
playwright install-deps
De dentro da raiz do projeto, rode:
pip install .
zapscrap scrape -a $ZAPSCRAP_ACTION -t $ZAPSCRAP_TYPE -l $ZAPSCRAP_LOCALIZATION -m $ZAPSCRAP_MAX_PAGES