PEGAR CONTEUDO DE UMA PAGINA DA INTERNET

LCSD 25/08/2009 09:23:12
#320879
Olá pessoal.... Bom dia a todos.

Estarei precisando desenvolver (no próximo FDS) um aplicativo [Ô]robo[Ô] ao qual eu terei que fazer algumas coisinhas.
A função principal deste robozinho será a substituíção de DEZENAS de operadores em frente do micro, por uma pessoa só [Ô]monitorando[Ô] o funcionamento deste robô. Até aí tudo tranquilo.
O que eu terei dificuldade em fazer, e que gostaria da ajuda do pessoal aquí, será para fazer o seguinte:

1º) Como saber se estou com o FIREFOX aberto e em uma página em específica aberta??
2º) Como simular, nesta página aberta, o comando CTRL + A (marcar toda a página) e o CTRL + C (Copiar todo o conteúdo desta página)?
3º) Como alternar entre 2 navegadores (simular o ALT+TAB) e ir para o navegador onde precisarei enviar a resposta deste site (o CTRL + V)??
4º) Em um site em específico onde terei que fazer um tipo de pesquisa, precisarei [Ô]renovar[Ô] o número IP da conecção, pois o site só me permite o acesso a ele por 2 vezes/hora com o mesmo número IP. Qual é o comando do Windows mesmo para [Ô]renovar[Ô] este número IP??

Este cliente possuí direitos adquiridos de outros sites, em poder copiar os dados da consulta e exibir em outra formatação no site dele.
TECLA 25/08/2009 13:43:56
#320915
Citação:

Qual é o comando do Windows mesmo para [Ô]renovar[Ô] este número IP??



Tente assim:
Shell [Ô]cmd.exe /k ipconfig /release[Ô]
Shell [Ô]cmd.exe /k ipconfig /renew[Ô]
MsgBox [Ô]Acho que foi renovado... hehehe[Ô], , [Ô]VBMania[Ô]


PS. Fiz uma alteração, pois havia esquecido do principal... o CMD.
LCSD 25/08/2009 14:04:36
#320919
Valeu TECLA.

Chegando a noite iire fazer este teste para verificar se realmente o IP será renovado.
Preciso agora descobrir como fazer nos outros 3 casos que precisarei fazer (pelo menos, a movimentação do MOUSE eu já sei fazer..... hehehe)
FOXMAN 25/08/2009 14:13:27
#320920
Luiz,
Não seria o caso de vc criar um browser onde vc teria total controle do browser ????

Veja este exemplo do pscode

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=45874&lngWId=1

USUARIO.EXCLUIDOS 25/08/2009 14:14:42
#320921
Não entendi bem a sua questão. Você vai pegar dados de um site e jogar em outro? e isso vai ser automático, sem intervenção humana?
Se você fizer em Vb.Net, o mesmo possui o Componente Web-Browser, no qual você tem acesso completo ao documento aberto, ou seja, à pagina que está aberta naquele momento nela.
Vai dando mais detalhes ae que eu vejo no que posso ajudar.
FOXMAN 25/08/2009 14:17:02
#320922
Olha outro exemplo ae :

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=22722&lngWId=1

Acho interessante vc ter o controle do codigo, pois ae vc faz tudo o que desejar.

GLAUCIO 25/08/2009 14:38:01
#320926
bom, vou tentar suavizar o teu problema:

1º) Como saber se estou com o FIREFOX aberto e em uma página em específica aberta??
Você pode enumerar as janelas (API EnumWindows), dai verifica se tem alguma janela com o [ô] - Mozilla Firefox[ô]. Ou então verifica os processos que estão rodando. e se tiver o firefox.exe ele tá rodando.
Você também pode obter o valor da página em que o firefox está presente, listando os controles dentro da janela do firefox (API EnumChildWindows) dai tu pega o valor do controle referente a url. Ou então pode tentar utilizar comunicação DDE para obter o endereço.


2º) Como simular, nesta página aberta, o comando CTRL + A (marcar toda a página) e o CTRL + C (Copiar todo o conteúdo desta página)?
primeiro, simule o pressionamento da tecla CTRL. Como?, use a API keybd_event .

Dai, tu envia uma mensagem para o handle do firefox (enviar mensagem -> PostMessage, handle -> o hWnd da janela.)
Não esqueça de liberar a tecla após simular o pressionamento dela. Como?, usando a mesma api para o pressionamento (keybd_event ), mas vez defina o flag (dwFlags) como KEYEVENTF_KEYUP.


3º) Como alternar entre 2 navegadores (simular o ALT+TAB) e ir para o navegador onde precisarei enviar a resposta deste site (o CTRL + V)??
O funcionamento é igual ao item 2. como vai ter alguem monitorando o processo, lembre-se te colocar pausas (API Sleep) entre a chamada de cada evento.


* Dica: para obter o scancode (bScan na API keybd_event) , use a api MapVirtualKey.
LCSD 26/08/2009 09:00:34
#320982
Caro JOAONETO,

O que precisarei fazer é um robozinho onde eu vou acessar diversos sites, copiar o conteúdo dele e exibir em outra página. Como se fosse um pesquisa.
imagine o seguite: Uma empresa de Consulta de Dados (situação de CPF,CARRO), onde o usuário final irá digitar neste site o que ele deseja pesquisar, e este SITE vai em diversos sites específicos e faz esta pesquisa, e exibe o retorno deste resultado [Ô]mascarado[Ô] em sua página.
O processamento de exibição do retorno destes dados já está feito. O que quero fazer é acessar estes sites [Ô]VIA-ROBO[Ô], e via sendkeys passar os dados para estes sites específicos, e quando o site me retornar a resposta, eu COPIAR a página inteira (simular um CTRL+A, ir na minha página de administração (onde já existe uma caixa de texto que pega esta cópia e a trata para exibir o resultado) e colar essa página anterior copiada. Pensei fazer em VB porque em VB6 já fiz um robô parecido para um cliente, para a extração de imagens de um aplicativo e colar em outro, mas não precisavachecar se páginas estavam abertas, ou então simular o envio de comandos específicos do Windows para ele. E .NET não é a minha PRAIA ainda, infelizmente... Passarei mais tempo em como descobrir comofazer coisinhas simples como essa do que querer já fazer em VB6 (questão de tempo)

Caro GLAUCIO
Desculpe-me a [Ô]ignotância mesmo[Ô], mas VC tem algum pequeno exemplo da utilização destas API's?? Referente a elas não tenho conhecimento nenhum de como elas funcionam. Eu sei que para fazer grande parte do que preciso (se eu precisar utilizar o MOUSE), a API que tenho que usar e sei bem trabalhar com ela é a MOUSEMOVE.
Tópico encerrado , respostas não são mais permitidas