项目作者: guilehm

项目描述 :
Retrieve stocks data
高级语言: Python
项目地址: git://github.com/guilehm/stocks-crawler.git
创建时间: 2019-08-16T20:20:59Z
项目社区:https://github.com/guilehm/stocks-crawler

开源协议:MIT License

下载


Web Scraper de Análise Fundamentalista de Ações

Api em Produção

https://gui-stocks.herokuapp.com/


Descrição

Este crawler extrai as informações do site do Eduardo que tem várias análises sobre as empresas da Bolsa de Valores.
Criei a API para poder utilizar estas as informações em meu BOT.
Screenshot from 2019-09-01 22-24-59

Endpoints base

Estes endpoints aceitam GET e POST.

Com GET as informações serão recuperadas do Mongodb, com POST o crawler irá extrair em tempo real e salvar no Mongo.

Visão Geral

  • Mongodb
  • Pymongo
  • Scrapy
  • Xpath
  • Flask
  • Rest API
  • Click
  • Docker

Instalação

Clone este repositório

  1. $ git clone git@github.com:Guilehm/stocks-crawler.git

Entre no diretório

  1. $ cd stocks-crawler

Copie o arquivo env.sample para .env

  1. $ cp env.sample .env

Utilize algum editor para alterar suas credenciais*

  1. $ vim .env

para obter as credenciais se cadastre aqui.
faça o cadastro com e-mail e senha, não utilize o login do Facebook.*

Instalação com Docker

(se quiser rodar sem Docker, vá para a próxima etapa)

É necessário ter o Docker e o Docker-compose instalados em sua máquina.
Recomendo este tutorial de instalação para o Linux https://www.digitalocean.com/community/tutorials/como-instalar-e-usar-o-docker-no-ubuntu-18-04-pt

Após ter concluído as etapas anteriores e estar com o serviço do Docker rodando, execute:

  1. $ docker-compose up

Finalizamos, neste ponto o app deverá estar rodando em http://localhost:5000 e o Mongodb na porta 27017. Siga os próximos passos apenas se não desejar executar o app via Docker.

Execução via Flask local

Crie o ambiente virtual (necessário Pipenv)

  1. $ pipenv install

Ative o ambiente virtual

  1. $ pipenv shell

Execute o app

  1. $ env $(cat .env) python app.py

Execução via terminal

Execute o comando abaixo para obter ajuda

  1. $ python main.py --help

Inicie o crawler:

  1. $ python main.py

Resolução de problemas

Caso ocorra o seguinte erro:

  1. Error starting userland proxy: listen tcp 0.0.0.0:5000: bind: address already in use

Pare a execução do seu mongo local com o seguinte comando:

  1. $ sudo systemctl stop mongodb

Faça o build novamente

  1. $ docker-compose up --build