Como fazer carregamento e leitura de paginas web???

24/09/2008

0

Entao pessoal estou tentando fazer um Screen Scrapting de uma pagina web (acho q eh assim q fala)

estou usando o WebBrowser da seguinte maneira

o que estou tentando fazer e varias consultas em uma determinada pagina que tem um campo cpf e um botao de fazer a consulta (que vou chamar de pagina 1) que por sua vez faz um submit e me volta com o resultado (pagina 2) .

Atualmente estou usando o WebBrowser assim , eu tenho uma copia da pagina 1 (alterada aonde ao final do carregamento da pagina ele faz um submit automático ) localmente , faco alteração dela inserindo o cpf de forma sequencial e mando meu
webbrowser abri-la , ai quando ele completa o carregamento eu faco a leitura da pagina e armazeno os dados que eu quero.

Porem ele tem um comportamento anormal depois de algumas milhares de interações
Entao vi q poderia usar o HttpWebRequest e HttpWebResponse talvez tivesse algum ganho com eles ao inves de usar toda estrutura do webBrowser


So que como eu faco esse mesmo processo usando o HttpWebRequest , outra coisa tem como eu faria mandar um post para a pagina 2 com os dados do campo texto (cpf ) da pagina 1 ?

Obs: ele não passa o cpf por QueryString não.


Vlw pela ajuda.....


Panarello

Panarello

Responder

Posts

24/09/2008

Panarello

Consegui resolver criei a seguinte classe , e vale resaltar que melhorou 1000¬ a performance

A função que faz a leitura da pagina , voce precisa passar o link da pagina com o Post junto no final.

Private Function leituraPaginaSemWebBrowser( ByVal pagina As String)
Dim myRequest As HttpWebRequest
Dim WebResp As HttpWebResponse
Dim Answer As StreamReader
´Dim newStream As Stream
Dim retorno As String
Dim cookie As String

Try
myRequest = WebRequest.Create(pagina)
myRequest.Method = ´POST´
myRequest.ContentType = ´application/x-www-form-urlencoded´
myRequest.AllowAutoRedirect = False
myRequest.ContentLength = 0

WebResp = myRequest.GetResponse()

Dim headers As WebHeaderCollection = WebResp.Headers

If (headers(´Set-Cookie´) <> Nothing) Then
cookie = headers(´Set-Cookie´)
End If
Answer = New StreamReader(WebResp.GetResponseStream())
retorno = Answer.ReadToEnd()

Return retorno

Catch ex As Exception
Return ´A PAGINA NAO PODE SER CARREGADA´
Finally
If Not Answer Is Nothing Then
Answer.Close()
End If
End Try
End Function


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar