Pesquisa Preços pela Internet

Publicado por Lame Duck 25/04/2008

[ Hits: 8.508 ]

Homepage: www.patinho.net

Download verifica_preco.tar




Script que lê uma lista de produtos e mostra os menores preços encontrados.

Para mais informações acesse: http://www.patinho.net/verscript.php?id=2

  



Esconder código-fonte

# Script pra PãoDuros Assumidos
# Criado por LameDuck
# Pra buscar e comprar coisas que estão em promoção mesmo :D
# Versão: Só amanhã 0.06 em 10X no carnê :D
# Script Sob GPL2

# Mudanças da Versão: Promoção de Hoje só 0.02 :D
# Retirado BUG de falta de pasta
# Agora Gera 3 Listas. Com preço desejado, preço médio, e preço entre desejado e médio
# Só pergunta se quer ver as super promoções.

# Mudanças da Versão: Promoção de Hoje só 0.03 :D
# Agora lê duas listas de compras diferentes.

# Mudanças da Versão: Hoje tá caro, tem 0.04 de juros :D
# Verifica menor preço em dois sites diferentes de busca

# Mudanças da Versão: Só amanhã 0.05 em 10X no carnê :D
# Resolvido BUG para caso não exista o arquivo Lista2
# Agora não tem mais janelinha enchendo o saco avisando de promoção \o/

# Mudanças da Versão: 0.06 ;D
# Agora faz apenas 2 tentativas de consulta de cada produto e aguarda 3 segundos antes de tentar pela segunda vez

mkdir -p temp


BuscarNoSite(){
            wget --timeout=15 --output-document=temp/procura.htm --output-file=temp/logwget "$site"

            cat temp/procura.htm | sed s/'<'/\\n/g > temp/saida

            maisbarato=`cat temp/saida | grep 'R\$ ' | sed s/.*"blank>"// | sed '1q;d'`
            maisbarato=`echo $maisbarato | sed s/","/"."/ | sed s/'R\$ '//`
            maisbarato=`echo "$maisbarato / 1" | bc`
            entre=`echo "($medio - $desejado) / 2 + $desejado" | bc`

            echo -e "$descricao \n Valor Mais Barato: $maisbarato \n Valor Médio: $medio"
            
            if [ "$maisbarato" -le "$desejado" ]
            then
               #Xdialog --yesno "SUPER PROMOÇÃO! \n $descricao \n Valor Mais Barato: $maisbarato \n Valor Desejado: $desejado \n Valor Médio: $medio \n Deseja Ver o Produto?" 0 0
               #if [ $? == "0" ]
               #then
               #firefox "$site"
               #fi

               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata.htm 

            elif [ "$maisbarato" -le "$entre" ]
            then
               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata2.htm
            elif [ "$maisbarato" -le "$medio" ]
            then
               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata3.htm                              
            fi
}

BuscarNoSite2(){
            wget --timeout=15 --output-document=temp/procura.htm --output-file=temp/logwget "$site"

            mv temp/procura.htm temp/saida

            maisbarato=`cat temp/saida | grep 'preco_texto_destaque' | sed s/.*"R\$ "// | sed '1q;d'`
            maisbarato=`echo $maisbarato | sed s/","/"."/ | sed s/'<\/'.*//`
            maisbarato=`echo "$maisbarato / 1" | bc`
            entre=`echo "($medio - $desejado) / 2 + $desejado" | bc`

            echo -e "$descricao \n Valor Mais Barato: $maisbarato \n Valor Médio: $medio"
            
            if [ "$maisbarato" -le "$desejado" ]
            then
               #Xdialog --yesno "SUPER PROMOÇÃO! \n $descricao \n Valor Mais Barato: $maisbarato \n Valor Desejado: $desejado \n Valor Médio: $medio \n Deseja Ver o Produto?" 0 0
               #if [ $? == "0" ]
               #then
               #firefox "$site"
               #fi

               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata.htm 

            elif [ "$maisbarato" -le "$entre" ]
            then
               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata2.htm
            elif [ "$maisbarato" -le "$medio" ]
            then
               echo "<br><a href=\"$site\">$descricao - R$ $maisbarato</a>" >> temp/${endereco_lista}Barata3.htm                              
            fi
}



buscarlista(){
echo 'Preço Menor ou Igual ao "Desejado"<br>' > temp/${endereco_lista}Barata.htm
echo 'Preço entre a primeira metade da distância do "Desejado" e "Valor Médio" ( deu pra entender? )<br>' > temp/${endereco_lista}Barata2.htm
echo 'Preço entre a segunda metade da distância entre o "Desejado" e "Valor Médio" ( deu pra entender? )<br>' > temp/${endereco_lista}Barata3.htm

cat $endereco_lista | while read tag medio desejado descricao; do
         if [ $tag == "##" ]
         then
            id="$medio"
            id2="$desejado"
         elif [ $tag != "#" ]
         then
            site="http://compare.buscape.com.br/procura?$id&kw=$descricao&ordem=prec&pagina=1"
            echo $site
            BuscarNoSite

            site="http://www.jacotei.com.br/mod.php?module=jacotei.pesquisa&texto=$descricao&$id2&precomin=&precomax=&lang=pt-br&ordem=3"
            echo $site
            BuscarNoSite2
            
         fi

done
}

endereco_lista="Lista1"
buscarlista

if [ -f "Lista2" ]; then
   endereco_lista="Lista2"
   buscarlista
fi

Scripts recomendados

OpenOffice Modo Texto

Gammu - Script para geração de configuração - codinome "gammuninja"

Atualizador de sistema multipla escolha

Slackware Interface Install - Instalação de Interfaces gráficas no Slackware

Filtro para importação de extrato do Banco do Brasil para Kmymoney


  

Comentários
[1] Comentário enviado por albertguedes em 28/04/2008 - 14:02h

Como pão duro assumido, adorei seu script, mas tenho a ressalva quanto a falta de comentários no código, fora isso funciona legal.
PS: É sério o lance de tocar contrabaixo no meio da rua ?

[2] Comentário enviado por lame_duck_hat em 30/04/2008 - 20:14h

Pois é,
o código está quase sem comentários.
Na verdade pretendo reescrever alguns trechos, pois estão funcionando meio na "gambiarra"

Sim, já toquei contrabaixo acústico ( contrabaixo de orquestra ) na faixa de pedestre enquanto o semáforo estava fechado, só por zueira

[3] Comentário enviado por albertguedes em 30/04/2008 - 20:56h

Percebi que era o "rabecão". Mas tu foi muito doido de levar este troço pro meio da rua. Poderia terminar com alguém tocando algum "requiem" pra você.
Se é que me entende. hehehe


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts