Pesquisa Preços pela Internet

Publicado por Lame Duck 25/04/2008

[ Hits: 8.677 ]

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

Sysinfo 2.01 - Infos do Sistema

Configuração do Modem Sony Ericsson MD300 da Claro 3G no Linux

Montar pasta remota NFS em Zenity

GoogleChromeUpdate.sh para Slackware

Backup da database do gerenciador de pacotes RPM


  

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