O Webscrap para gerir fortunas

O Problema:

Imaginemos que vamos gerir uma carteira de ações. Esta carteira é composta por diversos títulos e o nosso interesse reside em saber como evoluem esses títulos e como está posicionada a nossa carteira de investimentos.

A base de dados

Necessitamos de guardar os resultados numa base de dados . Eis a estrutura da nossa base de dados:

base de dados gestão fortunas
fig 1 – A base de dados
Sobre a tabela investe:

A tabela contém os campos empresa, url, unidades e código_pesquisa.

Nesta caso o investimento está centrado em duas empresas (Altri e Corticeira Amorim) com respetivamente 50 e 190 unidades. O url é o site onde vamos obter as cotações e o código de pesquisa é o código a procurar dentro da página para obter a cotação.
 
Sobre a tabela diaria:
A tabela diaria mostra os resultados obtidos da pesquisa. Eis um print
 
tabela diaria mostra valores
fig2 Tabela diaria que mostra os valores diários
 
 

O vídeo que mostra webscrap

Como ligar base dados a página web

Eis o código em Python - Scrap página

import requests
import pymysql
import datetime
from bs4 import BeautifulSoup

def pesquisa (url,codigo,empresa):
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
    pagina = requests.get(url, headers=headers)
    soup = BeautifulSoup(pagina.content, "html.parser")
    procura ="td."+codigo
    preco = soup.select_one(procura)
    preco_com_ponto=preco.text.replace(",",".")
    now = datetime.datetime.now()
    cur.execute('''INSERT into diaria (empresa, valor,data,hora)
                              values (%s, %s, %s,%s)''',
                (empresa,preco_com_ponto,now.strftime("%Y-%m-%d"),now.strftime("%H:%M:%S")))
    conn.commit();



conn = pymysql.connect(host="localhost", port=3306, user="root", passwd='', db="investimentos")
cur = conn.cursor()
cur.execute("select  *  from investe")
rows=cur.fetchall()
for row in rows:
    empresa=row[1]
    url = row[2]
    codigo=row[4]
    pesquisa(url,codigo,empresa)



Em resumo:

A possibilidade de analisar e recolher informação de sites, com software, é chamada webscrap.

Isto não é mais do que o google faz para construir as bases de dados gigantescas que permitem aos seus utilizadores pesquisar toda a informação de forma rápida. Estranhamente o google não gosta muito que façam webscrap aos seus sites (Youtube).

Neste artigo demonstramos como podemos apanhar informação de uma página web, tratá-la e guardá-la numa base de dados.

Quer contatar-nos?

Desenvolvemos software à medida tanto para Internet, como para windows. 
Se procura um serviço de programação consulte-nos. Os orçamentos são gratuitos e quem sabe se após a nossa consulta não encontra uma proposta diferente para o seu problema.

Estamos ligados à empresa de comercialização de soluções de hardware Urupema. Consulte os nossos preços e condições.