AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 76935145
Accepted
Lod
Lod
Asked: 2023-08-19 20:39:31 +0800 CST2023-08-19 20:39:31 +0800 CST 2023-08-19 20:39:31 +0800 CST

jQuery e Bubbling página carregada conteúdo importado vazio Google Sheet Importxml - Qual solução alternativa de script de aplicativos do Google?

  • 772

Esta pergunta já foi feita várias vezes com boas respostas compiladas em

Extrair dados para o Planilhas Google de um site que usa JavaScript ,

mas não consegui encontrar uma resposta funcional para o meu problema.

Isso Xpathfunciona no navegador:

//td[1]//span[contains(@class,"cluster")]/text()

Capturas de tela:

insira a descrição da imagem aqui

No entanto, as planilhas do Google retornam o conteúdo importado vazio :

Jquery Bubbling

jQuery:

JQeryGenericName

Dos dados de raspagem para o Planilhas Google de um site que usa respostas de JavaScript e perguntas citadas, parece que IMPORTXMLnão pode ser usado para resolver meu problema porque a página carrega jQuery.

Sendo Xpathcorreto, não sei mais o que tentar.

Parece que a partir desta tabela de raspagem de resposta usando scripts de aplicativos do Google, uma Google Apps Scriptsolução pode ser usada.

Essa abordagem ainda é válida?

Ou talvez um mais simples esteja disponível agora, alguém poderia sugerir?

Dado esse URL:

https://www.onelook.com/thesaurus/?s=active

A partir dessas respostas, parece que a análise jsonpoderia ser uma solução mais simples, no entanto, não encontrei um jsonarquivo viável ao pesquisar na guia de rede da ferramenta do desenvolvedor (apenas este URL estava disponível):

existe uma maneira de saber se há json em um site

Raspe os dados atuais do preço das ações do ASX

Existe uma maneira de obter uma única resposta de um fluxo de texto/evento sem usar ouvintes de eventos?

google-apps-script
  • 1 1 respostas
  • 22 Views

1 respostas

  • Voted
  1. Best Answer
    Tanaike
    2023-08-19T21:00:12+08:002023-08-19T21:00:12+08:00

    Da sua resposta a seguir,

    Todos os valores da tabela de spans "zone1". "On", "vivo", "existente", "existente" etc.

    Eu entendi que você deseja recuperar cada palavra como On", "vivo", "existente", "existente" de uma tabela da URL.

    Quando vi sua URL, parece que a tabela foi criada por Javascript. Nesse caso, infelizmente, a tabela não pode ser recuperada diretamente usando IMPORTXML e Google Apps Script. Mas, felizmente, parece que os dados para criar a tabela podem ser recuperados por outra URL. E parece que os dados são dados JSON. A partir desta situação, nesta resposta, gostaria de propor um script de amostra para recuperar seus valores esperados usando o Google Apps Script. Então, que tal o script de exemplo a seguir?

    Exemplo de roteiro:

    function myFunction() {
      const url = "https://www.onelook.com/api/words?ml=active&qe=ml&md=dpfcy&max=850&rif=1&k=olthes_r4";
      const res = UrlFetchApp.fetch(url);
      const obj = JSON.parse(res.getContentText());
      const values = obj.map(({ word }) => word);
      console.log(values); // ["active","on","alive","existent","existing","dynamic","hyperactive",,,]
    }
    
    • Quando esse script é executado, os valores de ["active","on","alive","existent","existing","dynamic","hyperactive",,,]são mostrados no log. Achei que esses valores poderiam ser seus valores esperados.

    Observação:

    Quando você deseja recuperar a tabela na planilha, que tal o seguinte script de exemplo?

    function SAMPLE() {
      const url = "https://www.onelook.com/api/words?ml=active&qe=ml&md=dpfcy&max=850&rif=1&k=olthes_r4";
      const res = UrlFetchApp.fetch(url);
      const obj = JSON.parse(res.getContentText());
      const values = obj.map(({ word }) => word).splice(1, 100);
      const v = [...Array(Math.ceil(values.length / 20))].map(_ => values.splice(0, 20));
      return v[0].map((_, col) => v.map((row) => row[col] || null));
    }
    

    Quando esse script é usado como uma função personalizada, o seguinte resultado é obtido. Parece que esses são os mesmos valores da tabela HTML.

    insira a descrição da imagem aqui

    • 1

relate perguntas

  • Como implementar a funcionalidade de upload de arquivo usando serviços de cartão no complemento do Gmail

  • Script não copia o valor da célula para K5 como esperado

  • google apps script Caixas de seleção horizontais como botões de opção (marcar/desmarcar)

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    destaque o código em HTML usando <font color="#xxx">

    • 2 respostas
  • Marko Smith

    Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}?

    • 1 respostas
  • Marko Smith

    Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)?

    • 2 respostas
  • Marko Smith

    Por que as compreensões de lista criam uma função internamente?

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 respostas
  • Marko Smith

    Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)?

    • 4 respostas
  • Marko Smith

    Por que o construtor de uma variável global não é chamado em uma biblioteca?

    • 1 respostas
  • Marko Smith

    Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto?

    • 1 respostas
  • Marko Smith

    Somente operações bit a bit para std::byte em C++ 17?

    • 1 respostas
  • Martin Hope
    fbrereto Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi Por que as compreensões de lista criam uma função internamente? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A formato fmt %H:%M:%S sem decimais 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python std::views::filter do C++20 não filtrando a visualização corretamente 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa Por que o construtor de uma variável global não é chamado em uma biblioteca? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev Por que os compiladores perdem a vetorização aqui? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan Somente operações bit a bit para std::byte em C++ 17? 2023-08-17 17:13:58 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve