Ir para conteúdo
Fórum Script Brasil

paulo.rogerio.sr

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre paulo.rogerio.sr

paulo.rogerio.sr's Achievements

0

Reputação

  1. Criei um código para montar um link de URL por linha. Para isso uso dados que estão na COLUNA "A" e dados que estão na coluna "B" para montar o LINK e colar o resultado numa célula "C". Por exemplo: https://br.advfn.com/bolsa-de-valores/bovespa/"AAAAAAAA"-ex-"BB"-VVARG150-/cotacao O código ficou assim: function MontaLink() { var planilha = SpreadsheetApp.getActiveSpreadsheet(); var aba = planilha.getSheetByName("primeira"); // https://br.advfn.com/bolsa-de-valores/bovespa/VVARG150-ex-15-VVARG150-/cotacao var URLfixo1 = "https://br.advfn.com/bolsa-de-valores/bovespa/"; var Opcao = aba.getRange("A3").getValue(); var URLfixo2 = "-ex-"; var Exerc = aba.getRange("B3").getValue(); var URLfixo3 = "-"; var URLfixo4 = "/cotacao"; var LINK = (URLfixo1 + Opcao + URLfixo2 + Exerc + URLfixo3 + Opcao + URLfixo4); } Eu consegui fazer rodar, mas fica preso a duas células específicas "A3" e " B3" na célula "C3". Porém se eu colocar na próxima linha, "C4" usar a mesma função não funciona pois não vai buscar a célula "A4" e "B4". Alguém pode me ajudar?
  2. Jhonas, Estou usando apenas HTML. Não sei se as linguagens se complementam. Se houvesse um paralelo para o "Componente Memo" no html, acho que resolveria.
  3. @Jhonas esse é o post inicial dessa pesquisa sobre como capturar o valor no html. Como você solicitou, vou continuar por aqui: Eu entendi a estratégia do "view-source" para o MEMO !!! É como se eu convertesse o HTML da página em um *.TXT e daí fizesse um "CTRL+F (tipo um localizar)" e depois de localizar, trazer o resultado de volta e finalmente colar na célula do googlesheet. Pelo que pesquisei, a ferramenta COMPONENTE MEMO é algo utilizada em DELPHI, certo? Só que eu não entendo nada dessa linguagem. Pesquisei muito sobre como inserir o comando MEMO no código HTML, mas sem sucesso. Pode me ajudar mais uma vez por favor?
  4. Será que vocês conseguiriam me ajudar? Estive há meses buscando um código que substituísse a função IMPORThtml. Seguinte: Faço uma captura de dados de ativos financeiros de alguns sites. O mais trivial seria usar a função GOOGLE FINANCE, certo? Errado! O tipo de ativos que monitoro não tem cobertura do Google Finance (opções de ações: call e put) A segunda opção seria usar o IMPORThtml ou IMPORT XML, mas depois de muito pesquisar em blogs, fóruns, ect, etc, descobri que o google "meio que sabota" essas duas funções e bloqueiam, de modo que sempre retornam erro. Então cheguei até um forum, o Stack Overflow, onde encontrei um especialista que me ajudou com esse código onde finalmente consegui para fazer o google sheets buscar o valor. function ultimoValorAdvfn() const url = 'https://br.advfn.com/bolsa-de-valores/bovespa/vvarq170-ex-17-VVARQ170/cotacao'; const html = UrlFetchApp.fetch(url).getContentText(); return html.match(/class="PriceTextUp">(.*?)</)[1].trim(); Só que percebi um porém: O código funcionou mas eu queria rodá-lo com outro site, no qual a URL da página de cada ativo é muito menor e mais fácil de montar. Para eu montar uma função replicável para várias células ou vários ativos diferentes, ao mesmo tempo, tem um pedaço da URL que ferra tudo. Ex: Para o ativo VVARQ170 seria o pedaço mais importante da URL seria "... /vvarf130-ex-13-VVARf130/..", só que esse pedaço " ex-13" não é constante para o ativoVVARF130 Hoje pode ser "ex-17", amanhã pode ser "ex-131" ou "ex-132" Então se eu montasse a URL a partir do códigos dos ativos que estão em uma coluna, eu teria que ter em outra célula qual o "ex" daquela ativo. Se fosse só um ou 2 ativos, beleza, eu faria na unha, o problema é que são pelo menos 20 em média, e vão sendo substituídos conforme vão sendo vendidos e comprados ao longo do mês. Tem um outro site que consulto que é o opcoes.net. onde a construção do link muito mais fácil Por exemplo: Para consultar o mesmo ativo,o link é simplesmente opcoes.net/ VVARF130 A maior dificuldade é encontrar o endereçamento do código HTML do objeto que preciso (último valor de cotação). Segue uma tentativa de representação da parte da página que preciso capturar. VVARF130 - Cotação não ajustada ____VVARF130 - Volatilidade implícita ____VVAR3 - Cotação não ajustada Min Pri Med Ult Max Negócios Vol. Fin. ____Min Pri Med Ult Max ____Min Abe Med Ult Max 21/05/2021 4,94 5,05 5,12 5,25 5,25 8 62.029,00 ____ ____11,73 11,92 11,90 11,87 12,14 20/05/2021 4,95 4,97 5,03 5,05 5,12 98 1.219.794,00 ____208,00 293,00 271,93 312,00 349,25 ____11,91 12,05 11,97 11,91 12,13 Então ficaria assim: function ultimoValorAdvfn() const url = 'https://opcoes.net.br/VVARF130'; const html = UrlFetchApp.fetch(url).getContentText(); return html.match(/?????="??????????" > ???????.trim(); Esse endereçamento dos objetos referentes aos valores em vermelho que não consigo buscar. Mesmo copiando o Xpaht, não consigo. Anexei os prints das páginas Desde já muito obrigado pela atenção!
  5. Estou tentando capturar no googlesheets o "Ultimo preço" de um ativo em 2 sites distintos: https://br.advfn.com/bolsa-de-valores/bovespa/vvarq170-ex-17-VVARQ170/cotacao e https://opcoes.net.br/VVARQ170 Para o 1º site tentei usar a função ImportXML para capturar o elemento "Último preço" a fórmula: =IMPORTXML("URL"; "//td[@class='current_price']"), Sem sucesso, tentei algumas variações buscando o //span[@class='PriceTextUp'] e span[@id='quoteElementPiece10'] também sem sucesso. O que deveria retornar o valor R$4,44 , retorna #N/A . Para o 2º site: tentei usar a função ImportHTML para capturar a tabela "MiniGrid". Para isso usei a fórmula: =IMPORTHTML("URL"; "table"; 1) Sem sucesso, fui variando o índice da table( 2, 3, 4) mas também não encontrou e retorna #N/A . Se puderem me ajudar por onde estou errando? Obrigado
×
×
  • Criar Novo...