none
Trabalhar com dados de um site da internet RRS feed

  • Pergunta

  • Bem estou começando agora meus estudos em VB e C# no VS2010, VS2013, e só encontro mais material em inglês, alguém teria algum material ou link com material de estudo e dicas para implementar um mini sistema que baixa dados da internet e trabalha localmente com eles?

    Algum exemplo de código já serve!!!

    Desde já obrigado!!!

    domingo, 24 de agosto de 2014 02:06

Respostas

  • O colega seja bem vindo ao time dos desenvolvedores;

    acho que um bom site para começar seria o do  macoratti, tudo bem mastigadinho.

    http://www.macoratti.net/Default.aspx

    quanto a dica para implementar um mini sistema que baixa dados da internet e trabalha localmente com eles

    para mim a está um pouco vago,  oque você quer baixar: 

    um banco de dados

    um arquivo em xls

    uma tabela ...

    e o que vc quer tratar localmente:

    somar, dividir, ver qtd de itens vendidos, ver itens que não foram vendidos...

    muito obrigado


    Laercio Tersi

    domingo, 24 de agosto de 2014 23:44

Todas as Respostas

  • O colega seja bem vindo ao time dos desenvolvedores;

    acho que um bom site para começar seria o do  macoratti, tudo bem mastigadinho.

    http://www.macoratti.net/Default.aspx

    quanto a dica para implementar um mini sistema que baixa dados da internet e trabalha localmente com eles

    para mim a está um pouco vago,  oque você quer baixar: 

    um banco de dados

    um arquivo em xls

    uma tabela ...

    e o que vc quer tratar localmente:

    somar, dividir, ver qtd de itens vendidos, ver itens que não foram vendidos...

    muito obrigado


    Laercio Tersi

    domingo, 24 de agosto de 2014 23:44
  • Gostaria de baixar os resultados da lotofacil, de preferencia um por um, e adicionando no banco de dados, o banco e o sistema em si tá todo feito, mas não seio como baixar dados da internet...
    quarta-feira, 15 de outubro de 2014 01:36
  • Consegui baixar os resultados com WebClient, sobrecarregando a classe:

    Public Class CookieAwareWebClient
        Inherits WebClient

        Private cc As New CookieContainer()
        Private lastPage As String

        Protected Overrides Function GetWebRequest(ByVal address As System.Uri) As System.Net.WebRequest
            Dim R = MyBase.GetWebRequest(address)
            If TypeOf R Is HttpWebRequest Then
                With DirectCast(R, HttpWebRequest)
                    .CookieContainer = cc
                    If Not lastPage Is Nothing Then
                        .Referer = lastPage
                    End If
                End With
            End If
            lastPage = address.ToString()
            Return R
        End Function

    End Class

    E depois implementei o codigo assim:

    WithEvents WebCliente As CookieAwareWebClient = New CookieAwareWebClient
        Private Function BaixaArquivo() As Boolean
            WebCliente.DownloadFileAsync(New Uri("http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip"), Application.StartupPath & "\D_lotfac.zip")
                Return True
        End Function


        Private Sub WebCliente_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles WebCliente.DownloadProgressChanged
            ProgressBar1.Maximum = e.TotalBytesToReceive
            ProgressBar1.Value = e.BytesReceived
        End Sub

    Onde ele baixa e exibe o andamento numa ProgressBar.

    Usei uma biblioteca externa para extrair os arquivos, disponivel na internet (Imports Ionic.Zip).

    Private Sub WebCliente_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebCliente.DownloadFileCompleted
            Extrair()
            Dim comp As String = Concurso_do_BancoTableAdapter1.RetornaUltimoConcurso.ToString
            Dim myStream As StreamReader = New StreamReader(File.OpenRead(Application.StartupPath & "\D_LOTFAC.HTM"))

            While (myStream.EndOfStream = False)
                TextBox1.Text = myStream.ReadToEnd
            End While

            myStream.Close()
            MsgBox(comp)
        End Sub

    aqui o codigo para extrair:

    Private Function Extrair()
            Dim ZipAExtraer As String = Application.StartupPath & "\D_lotfac.zip"
            Dim DirectorioExtraccion As String = Application.StartupPath
            Using zip1 As ZipFile = ZipFile.Read(ZipAExtraer)
                Dim f As ZipEntry
                For Each f In zip1
                    f.Extract(DirectorioExtraccion, ExtractExistingFileAction.OverwriteSilently)
                Next
            End Using

            Return 0
        End Function

    Agora estou tentando abrir o arquivo .HTM e buscar os dados que quero, mas não estou conseguindo encontrar na internet nada parecido com o que quero fazer.

    quinta-feira, 23 de outubro de 2014 15:30
  • Boa tarde Cleginaldo,

    É possível ler o conteúdo dos arquivos .htm com as classes de File to System.IO e buscar o contéudo dentro do código HTML. Por.:

                var termoBuscado = "Loteria";
                var conteudoPagina = System.IO.File.ReadAllText(@"E:\minhaPaginaHtml.htm");
    
                if (conteudoPagina.Contains(termoBuscado))
                {
    		//Sua lógica vai aqui
                }

    Marque como resposta se foi útil!

    • Sugerido como Resposta Deric Ferreira quinta-feira, 23 de outubro de 2014 15:47
    quinta-feira, 23 de outubro de 2014 15:46