Ir ao conteúdo
  • Cadastre-se

manoelmr1984

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

posts postados por manoelmr1984

  1. Em 11/07/2018 às 16:21, manoelmr1984 disse:

    Olá, boa tarde.

     

    consegui adaptar o código e agora já tenho os eventos linha por linha, agora falta o evento, alguém pode me ajudar? se não pra trazer a identificação do evento pois que seja pelo menos uma condicional que traga o evento que eu escolher...

    image.png.2a53bc36e7fedb689c4e594a5b76c217.png

     

    segue o código...

     

    Sub BuscaEvento()

    Range("A2:C100").ClearContents


    Dim element As IHTMLElement
    Dim elements As IHTMLElementCollection
    Dim ie As InternetExplorer

    Dim html As HTMLDocument

    'abra o Internet Explorer na memória e acesse o site

    Set ie = New InternetExplorer

    ie.Visible = False

    ie.navigate "https://www.academiadasapostasbrasil.com/stats/match/brasil-stats/brasileirao-serie-a/fluminense/santos/2729351/1/live"
    'Aguarde até que o IE tenha carregado a página da web

    Do While ie.readyState <> READYSTATE_COMPLETE

    DoEvents

    Loop

    Set html = ie.document

    Set elements = html.getElementsByClassName("match-sum-wd-symbol")

    Dim count As Long
    Dim erow As Long
    count = 0
    For Each element In elements
        If element.className = "match-sum-wd-symbol" Then
            erow = Worksheets("Planilha2").Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Row
            Cells(erow, 1) = html.getElementsByClassName("match-sum-wd-minute")(count).innerText
            Cells(erow, 2) = html.getElementsByClassName("match-sum-wd-description")(count).innerText
            count = count + 1
        End If
    Next element

    CloseIE

    End Sub
    Public Sub CloseIE()
        Dim Shell As Object
        Dim ie As Object
     
        Set Shell = CreateObject("Shell.Application")
     
        For Each ie In Shell.Windows
            If TypeName(ie.document) = "HTMLDocument" Then
                ie.Quit
            End If
        Next
    End Sub

     

    alguém tem uma novidade sobre o assunto...?

  2. 6 horas atrás, manoelmr1984 disse:

    Obrigado por responder meu post, mas sem querer abusar de sua bondade, poderia montar esse código pra mim, sou meio leigo nesse assunto e estou precisando muito concluir esse trabalho?

     

    Desde já agradeço...

     

    Olá, boa tarde.

     

    consegui adaptar o código e agora já tenho os eventos linha por linha, agora falta o evento, alguém pode me ajudar? se não pra trazer a identificação do evento pois que seja pelo menos uma condicional que traga o evento que eu escolher...

    image.png.2a53bc36e7fedb689c4e594a5b76c217.png

     

    segue o código...

     

    Sub BuscaEvento()

    Range("A2:C100").ClearContents


    Dim element As IHTMLElement
    Dim elements As IHTMLElementCollection
    Dim ie As InternetExplorer

    Dim html As HTMLDocument

    'abra o Internet Explorer na memória e acesse o site

    Set ie = New InternetExplorer

    ie.Visible = False

    ie.navigate "https://www.academiadasapostasbrasil.com/stats/match/brasil-stats/brasileirao-serie-a/fluminense/santos/2729351/1/live"
    'Aguarde até que o IE tenha carregado a página da web

    Do While ie.readyState <> READYSTATE_COMPLETE

    DoEvents

    Loop

    Set html = ie.document

    Set elements = html.getElementsByClassName("match-sum-wd-symbol")

    Dim count As Long
    Dim erow As Long
    count = 0
    For Each element In elements
        If element.className = "match-sum-wd-symbol" Then
            erow = Worksheets("Planilha2").Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Row
            Cells(erow, 1) = html.getElementsByClassName("match-sum-wd-minute")(count).innerText
            Cells(erow, 2) = html.getElementsByClassName("match-sum-wd-description")(count).innerText
            count = count + 1
        End If
    Next element

    CloseIE

    End Sub
    Public Sub CloseIE()
        Dim Shell As Object
        Dim ie As Object
     
        Set Shell = CreateObject("Shell.Application")
     
        For Each ie In Shell.Windows
            If TypeName(ie.document) = "HTMLDocument" Then
                ie.Quit
            End If
        Next
    End Sub

     

  3. 23 horas atrás, R0DR1G0_CWB disse:

    @manoelmr1984

     

    Bom dia!


    Já passei por uma situação semelhante, e resolvi usando a biblioteca do Microsoft Internet Controls.

     

    No código exemplificado, você traz a informação integral da tabela da página, e acredito que deve deverá especificar o que você busca no código.

     

    Exemplo, para cada linha da tabla captura o valor das células e atribui nas variáveis:

    
    For Each linha In tabela.all.tags("tr")
        var0 = linha.all.tags("td")(0).innertext
        var1 = linha.all.tags("td")(1).innertext
        var2 = linha.all.tags("td")(2).innertext
    Next

    No caso do cartão, tente algo assim:

    
    For Each i In ie.Document.body.getElementsByTagName("span")
        If i.className = "ico aa-icon-YC" Then
            xCor = i.color
        End If
    Next i

    Observe que para o cartão, não é aplicado algum texto, apenas pintado o fundo do span pelo CSS, não me lembro exatamente qual o atributo para isso, no código exemplifiquei com  i.color.

     

    R0DR1G0_CWB, bom dia.

    Obrigado por responder meu post, mas sem querer abusar de sua bondade, poderia montar esse código pra mim, sou meio leigo nesse assunto e estou precisando muito concluir esse trabalho?

     

    Desde já agradeço...

    23 horas atrás, R0DR1G0_CWB disse:

     

     

     

  4. Em 15/06/2018 às 18:02, CasaDoHardware disse:

    Pesquise por power query. 

    Dependendo da sua versão do Office você pode precisar baixar o suplemento.

    Se nao me engano a partir do 2013 é nativo.

    Olá, bom dia

    até onde pesquesei o power query não faz exatamente o que quero, ele traz a tabela mas não especifica o ítem (no meu caso se é cartão amarelo, vermelho, gol...)

     

     

    tem como fazer tipo uma condicional?

  5. Olá, boa tarde!

    Este é o HTML do qual estou tentando extrair as informações no site https://www.academiadasapostasbrasil.com/stats/match/brasil-stats/brasileirao-serie-a/fluminense/santos/2729351/1/live

    image.png.d0ff2730758917e1904933fa0ca80eb9.png

     

    o que eu preciso é, por exêmplo: trazer pro excel os eventos que aconteceram na partida (no caso abaixo apenas como exêmplo o cartão amarelo aos 17 minutos)...

    image.png.7cb2892d1a9e9488f9e8e59f9782fbf1.png

     

    ...porém, eu preciso que ao trazer essa tabela pro excel ele identifique o evento (cartão amarelo, gol, substituição,...)

     

    Tenho esse código que consegui na internet mas não progredi muito na adaptação:

    Sub ExtrairEventos()

        Dim ie As Object
        Dim iLin As Long
        Dim link, stats As String
        link = "https://www.academiadasapostasbrasil.com/stats/match/brasil-stats/brasileirao-serie-a/fluminense/santos/2729351/1/live"

        stats = "#stats-quarts-padding"
        
        'instancia de objeto do IE e o torna visível
        Set ie = CreateObject("internetexplorer.application")
        ie.Visible = False
        
        'Inicia o processo de varredura da lista.
        'For iLin = 1 To Plan1.UsedRange.Rows.Count
               
           'Carrega a página de acordo com o link
           ie.navigate link & stats
        
           'Aguarda carregamento da página.
           Do While ie.busy: VBA.DoEvents: Loop
           
           'Captura as duas tabelas de resultados
           Sheets("Planilha2").Range("A1").Value = ie.document.getElementsByTagName("tbody")(1).innertext
        Set ie = Nothing

    End Sub
     

    porém ele extrai assim.

    image.png.371caad1332df042731c82b23f47305a.png

     

    além dele não identificar o evento (cartão amarelo, gol, substituição,...) ele ainda coloca tudo na mesma célula

     

    Em resumo, preciso que ele traga os eventos (cartão amarelo, gol, substituição,...) identificando cada um deles pela "class" ou "title" e organizando eles tabela (linhas e colunas).

     

    Alguém por favor me ajudem...

     

  6. Olá amigos, essa é a primeira vez que posto aqui no fórum..., bom a minha dúvida é a seguinte: tenho um projeto em vba/excel que importa uma página da web do site academia das apostas (vamos ao exemplo para entenderem melhor: "https://www.academiadasapostasbrasil.com/stats/match/mundo-stats/amistoso/inglaterra/costa-rica/2712731/1/live", essa página importa ela por inteira, só que nela tem alguns objetos que não são importados como por exemplo essa imagem/ícone abaixo.

    image.png.3fc146979020bd919fa4505d7bd1a9d2.png

     

    é de suma importância trazer pra minha planilha as informações dessa coluna, pois hoje preciso fazer isso manual já que essa coluna vem em branco, precisa trazer "alguma informação" dessa coluna pra identificar o" evento", por exemplo: quando é uma SUBSTITUIÇÃO é mostrado no site as setas circulares/oval com detalhes verde e vermelho, se for um GOL ele mostra no site uma bola, e assim pra cada evento uma imagem/ícone, e também ao passar o mouse em cima da imagem/ícone exibe-se uma caixa de texto com a descrição do evento (se for um GOL é mostrado uma BOLA e ao passar o mouse exibe-se uma caixa de texto com a descrição "Goal").
    Pra resolver meu problema preciso que venha pro Excel alguma informação dessa coluna, a melhor alternativa seria importar junto esse comentário que mencionei acima, alguém pode me ajudar?

    Abaixo segue o código que estou usando para importação (só lembrando que os dados estão sendo importados corretamente e que falta é somante a identificação do evento nessa coluna, pois a mesma vem em branco).


     

    Sub inputJogo()
        On Error Resume Next
        Range("inputPartidas!A1:AA10000").ClearContents
        On Error Resume Next
        Dim endereco As String
        endereco = InputBox("Entre com o link da partida no site Academia das Apostas Brasil:", Sheets("config").Range("C3").Value, "")
        Application.ScreenUpdating = False
        Sheets("config").Activate
        Range("C29").Value = endereco
        Sheets("inputPartidas").Activate
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;" & Range("config!C29") & "", _
            Destination:=Range("$A$1"))
            .Name = "2212422"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = True
            .WebDisableDateRecognition = True
            .WebDisableRedirections = True
            .Refresh BackgroundQuery:=False
        End With
        Sheets("inputPartidas").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("Partidas").Select
        Range("AH7").Select
    End Sub
    

    Desde já agradeço a todos!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!