Opa!
Senhores, preciso fazer uma app que funcione como um robô, executando links de uma página.
Não, não quero isso pra fazer spammer ou bots de crash de páginas… rs
Existe um sistema que iremos fazer para um banco. Como muitos por aqui sabem, dificilmente um banco te dá alguma fexibilidade. Eles tem uma aplicação web e basicamente querem que o sistema pegue os dados dela e envie por um web service.
Tudo seria simples se eu tivesse acesso a esses dados olhando em um database, ou ele me passando um XML ou algo assim… MMMAAASSS… ele não vão mudar NADA e nem desenvolver nada. O que está feito está feito e temos q nos virar com isso.
Solução que encontramos… Vamos acessar a página deles via Metaframe e simular os clicks para chegar onde queremos.
Tenho 4 páginas, onde na primeira tenho que achar exatamente onde está o link que eu quero para ir na segunda, e assim sucessivamente.
PERGUNTO:
Alguem sabe como dar os primeiros passos nisso?
Oq achamos razoável foi, ao entrar na página, pegar o código fonte dela, trazer para a minha app, fazer um parser nela e achar exatamente onde está o link que quero. Quando achar, devo contar quantos “tabs” preciso para chegar até ele e efetuar o click.
Achei alguns parsers HTML no sourceforge que talvez me ajudem.
Alguem tem alguma idéia melhor?
Não acho isso uma solução muito elegante, mas não vi outra forma, afinal, a única forma de ter acesso a esses dados, é realmente navegando pelas paginas, então preciso de um robô que faça isso.
pq vc não faz um levantamento de todos os links que tem nas paginas, dai basta vc usar a classe URL para acessar esse link, que deve ser alguma coisa dinamica, dai depois vc tem a pagina de resposta e pega os dados q quiser…
se vc pesquisar aqui no GUJ vai encontrar alguma coisa com URL q irá te ajudar…
Talvez seja interessante você usar alguma ferramenta que permita ver qual é a seqüência dos links que são necessários, em vez de efetuar um “screen scraping” completo, até chegar à tela que você realmente precisa acessar. Essa tela contendo os dados é que você vai usar para “screen scraping”.
Não se esqueça de tratar cookies e outros bichos esquisitos.
Pegue o seu cliente e explique que qualquer modificação na aplicação Web irá fazer seu sistema quebrar (ficar indisponível - isso mete medo em qualquer pessoa decente), ou seja, seria melhor vocês terem uma página Web específica para vocês poderem acessar, simplificada e que já trouxesse os dados desejados.
marcos.junqueira, não consigo fazer o levantamento de links, pois eles são dinâmicos. Tenho a página com N links, onde cada link é uma conta, tenho q achar a conta específica, “123456” por exemplo, e clicar nele.
thingol, a um primeiro momento não, todos os links são href tradicionais. Que tipo de ferramenta vc diz sobre ver qual a sequência dos links?
Ja foi bem martelado com o cliente de que se ele colocar um virgula a mais, o sistema pode parar de funcionar, mas eles não estão dispostos a criar uma página simplificada(o que seria o ideal). Sabem como é banco né? Tudo demora, tudo é burocrático e mudanças quase nunca aconteçem… =/