Jak vytvořit fragment dokument v Google Apps Script? [duplicitní]

0

Otázka

Jsem vytvoření aplikace v Google, Listy, pomocí Google App Script. Aplikace škrábanců webové stránky a vrátí HTML stránku, aby mě jako řetězec. Já se snažím chcete-li vložit do DOM, tak že můžu použít DOM dotazy najít data potřebuji v rámci stránky. Normálně, můžete to udělat buď vytvoření dokumentu fragment s document.createDocumentFragment()nebo vytvoření samostatně stojící prvek s document.createElement(), pak nastavení innerHTML s HTML řetězec. Problém je, že PLYN nemá document kontextu.

Má někdo nápady na řešení, nebo možná nějaký jiný způsob, jak dotaz, velký textový řetězec?

p.s. Můj první instinkt byl se najít data, která jsem třeba jako API, ale nemůžu najít nic, co vyhovuje mým potřebám. Obrazovky škrábání je moje poslední možnost.

AKTUALIZACE: Děkujeme, že jste ten, kdo našli a označili podobnou otázku. Ahoj knihovna pro GS je správné řešení. https://stackoverflow.com/a/61928025/735374

1

Nejlepší odpověď

0

Nemůžete vytvořit DOM v Google Apps Script, alespoň ne v kódu na straně serveru.

V pořadí dotaz na HTML řetězec, budete potřebovat vědět, kde přesně na stránce údaje, které potřebujete, bude s identifikovatelnými řetězců jako obsahující prvek Id - ale často to jsou generovány a tak nemůže být známé. HTML je také známo, nemohou být analyzovány pomocí regulárního Výrazu.

Ty by mohly udělat to jako Listy, add-on, pokud má skript běžet bez dozoru není nutná. V tomto případě workflow by být v duchu:

  • Scrape HTML data jako řetězec
  • Vytvořit HTMLOutput objekt pomocí createHtmlOutput(html) metoda
  • Otevřete HTML jako dialog, nebo v postranním panelu a dělat querySelector volání uvnitř dialogového okna. (V tomto případě budete muset přidat tyto jako kód uvnitř <script> tag, který běží na načtení stránky
  • Vrátit hodnoty na Google Apps Skript pomocí google.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Zvažte přesunutí této odpovědi zde
TheMaster

Díky, nakonec jsem musel použít hrubou sílu, regex, které se stalo do práce pro svou konkrétní situaci, ale tyto jsou dobré návrhy.
T Nguyen

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................