paulo.rogerio.sr
Membros-
Total de itens
5 -
Registro em
-
Última visita
Sobre paulo.rogerio.sr
paulo.rogerio.sr's Achievements
0
Reputação
-
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?
-
@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?
-
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!
-
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