PEGAR CONTEUDO DE UMA PAGINA DA INTERNET

 Tópico anterior Próximo tópico Novo tópico

PEGAR CONTEUDO DE UMA PAGINA DA INTERNET

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#320879 - 25/08/2009 09:23:12

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


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.


  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#320915 - 25/08/2009 13:43:56

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em Editado em 25/08/2009 13:47:12 por TECLA por

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.




#320919 - 25/08/2009 14:04:36

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


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)

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#320920 - 25/08/2009 14:13:27

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
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




Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#320921 - 25/08/2009 14:14:42

USUARIO.EXCLUIDOS

Cadast. em:


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.



#320922 - 25/08/2009 14:17:02

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
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.




Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#320926 - 25/08/2009 14:38:01

GLAUCIO
BANGLADESH
Cadast. em:Maio/2009


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.




#320982 - 26/08/2009 09:00:34

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


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.

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 13/05/2010 20:08:19