Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera estou com dificuldade de criar uma pagina em um determinado site o seguinte:
Quero que a minha pagina exemplo www.meusite.com/monitoramento.php me mostre um monitoramento de outra pagina tipo www.imaster.com/noticias se alguma coisa coisa for postada em noticias ou
algo alterado na pagina quero que me informe na minha pagina monitoramento. quero fazer isso com pagina de venda de carro quando a loja adicionar um carro quero que enviei uma mensagem ou mostre na minha pagina.
a pagina de carro é http://www.webmotors.com.br/comprar/carros/novos-usados/veiculos-todos-estados/?tipoveiculo=carros&tipoanuncio=novos|usados&anode=2011&anoate=&estado1=veiculos-todos-estados
quero que sempre que existir um novo carro a venda que me mostre na minha pagina e preciso que faça isso a cada 5seg. existe um jeito de eu monitorar o banco de dados do site quando houver alguma alteração no banco eu saber?
Alguém tem alguma ideia de como isso é possível com php sql e html?
ou existe algum script mesmo que seja pago não tem problema.
quero que alerte a mim as mudanças adicionais das paginas escolhidas e não é somente uma pagina a ser monitorada são umas 5 ou mais.
Obrigado, se alguém conseguir dar os caminhos da pedras agradeço.
Amigo eu dei uma pesquisada, acho que do jeito que procuro não irei achar vc teria disponibilidade para me ajudar a desenvolver? eu pago por hora se precisar.
Se tiver skype eu te explico o que preciso e vc diz se é possivel ou não a unica linguagem que conheço é php e o basico.
pois preciso de algo especifico mas não precisa ser bonito so precisa funcionar =D
Seguem alguns links úteis:
Parse de HTML usando PHP
http://battisti.etc.br/2009/10/03/parser-html-com-php-muito-simples/
https://code.google.com/p/ganon/
http://htmlparsing.com/php.html
https://github.com/paquettg/php-html-parser
http://simplehtmldom.sourceforge.net
Você deverá agendar sua rotina para ser executada a cada X intervalos de tempo. Geralmente usa-se o Cron para isso. Veja:
http://www.vivaolinux.com.br/artigo/Agendando-tarefas-em-Linux-Unix-usando-o-cron
Bom Tarde Beraldo! com tudo que me passou dei uma estudada e consegui puxar os dados da pagina porem ela demora muito para carregar mais de 1 minuto e são somente 133 carros existem filtros que terei que fazer que seria 1500 carros + isso demoraria uns 10 minutos.
Tem alguma ideia de como faço para diminuir esse tempo e somente comparar as alterações pois ainda não consegui fazer com que me informe quando a alteração nas informações que puxei
O que eu ja fiz com simple_html_dom.php:
<?php
require ("simple_html_dom.php");
//define o limite de tempo do script como 0
set_time_limit(0);
//variavel que conta o total de links encontrados
$nlinks = 0;
//string que pega o valor atraves do parser
$string = '';
//array que pega o valor do parser
$toyota =array();
//contadores
$cont = 0;
$x=1;
//enquanto o contador for menor que 4 entra no laço
while($cont < 20){
// get DOM from URL or file
$html = file_get_html('[http://www.webmotors.com.br/](http://www.webmotors.com.br/)comprar/carros/novos-usados/'
.'sp-sao-paulo/toyota/?tipoveiculo=carros&tipoanuncio=novos-usados&anunciante=pessoa'
.'%20f%C3%ADsica&marca=toyota&vehicle1=%7B%22marca%22:%22toyota%22%7D&location=%5B%7B'
.'%22state%22:%22s%C3%A3o%20paulo%22,%22abbr%22:%22sp%22%7D%5D&precoate=170000&anode'
.'=2012&kmate=30000&atributos=%C3%9Anico%20dono&p='.$cont."&o=3&qt=36");
//while($html){
//para cada link encontrado...
foreach($html->find('a') as $e){
$string = (string) $e->href;
//apenas verifica se o link nao tem a string "comprar/toyota"
if(strpos($string, 'comprar/toyota') != 1){
//unset($html);
}else{
//verifica se o link tem a string "comprar/toyota"
if(strpos($string, 'comprar/toyota') == 1){
//transforma a string encontrada em um link ativo
$link = "<a href='[http://www.webmotors.com.br/](http://www.webmotors.com.br/)".$string. "'>".$string. "</a>";
//echo $link."<br>";
$nlinks++;
//insere o link no array
$toyota[$nlinks] = $link;
}
}
}
$cont++;
unset($html);
}
//pega o tamanho do array
$tam = sizeof($toyota);
//enquanto o contador for menor que o tamanho do array
while($x <= $tam){
//imprime o array na posição x
echo $toyota[$x]."<br>";
$x++;
}
echo "<br> ".$nlinks." carros da TOYOTA foram encontrados!<br>";
?>
Saida:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.stack.imgur.com/QPi6k.jpg&key=02f1562603c101f90d5c65164668a9f4510835c19c6b611a18e5264098666293" alt="QPi6k.jpg" />
Quem puder tbm ajudar agradeço, estou tentando criar uma pagina de monitoramento para quando sair um novo carro no anuncio a pagina me avise as mudanças porem esta muito lerdo para puxar as informações preciso que atualize em uns 30seg pois não tem somente uma marca depois que terminar o codigo vou fazer de quase todas marcas populares e serão mais de 3000 carros. se com 134 demora uns 50seg+ imagine com 5000. preciso que puxe de 5000 em mais o menos 1 min.
são 20 requisições HTTP. Isso toma tempo, mesmo.
Não há uma forma de aumentar o número re resultados por página, para não precisar fazer 20 requisições?
não o maximo são 36 carros por pagina existe outra maneira de fazer esse tipo de verificação de alteração mais rapida?
eu faço com 20 pois é a media de cada marca de carro uns 700 mais tem alguns que são menores, e ainda tenho que fazer de todas as marcas populares numa pagina só. vai demorar uma eternidade a outro caminho?
Se eles não fornecem Web Service, essa é a única saída.
O processo demora mesmo. O ideal é ter isso rodando em um cron. Faça o script atualizar um banco de dados local a cada X horas, por exemplo. E a exibição para o usuário é feita consultando essa base local, não o site remoto
Você precisa criar uma rotina que, a cada X segundos/minutos, acesse a URL e verifique o conteúdo dela. Você pode fazer o parse de um trecho específico da página ou comprar o código completo.
A ideia geral é:
1. Acessar a URL
2. Salvar o conteúdo da página
3. Comprar com o conteúdo antigo
4. Se for diferente, envie a notificação.
Existem alguns parsers de HTML feitos em PHP. Mas, se puder usar outra tecnologia, recomendo a lib BeautifulSoup4, do Python. É ótima para fazer parse de HTML