HTML Mirror Rewrite

action_html_mirror_rewrite · action · Utility · Disponibile · v1.0.0

Descrizione

Riscrive un HTML per la navigazione offline come fa wget --mirror: trasforma URL assoluti di asset (img/css/js/video/iframe) in path locali relativi, in base alla mappa assetMap (output di action_asset_batch_download). Riscrive: a[href], link[href], img[src+srcset], script[src], source[src+srcset], video[src+poster], audio[src], iframe[src], embed[src], object[data], CSS url(...) inline (<style> blocks + style attribute). NON riscrive: data:/mailto:/tel:/javascript:/blob: URIs, fragment-only links (#anchor), URL non presenti in assetMap (preservati assoluti — utile per link "external" verso il web live). Use case: pipeline mirror completo (spider → asset download → mirror rewrite → file_write), backup statico navigabile, snapshot legale di una pagina. Output: html riscritto + stats {rewritten, unchanged, skippedScheme} per audit.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
html
HTML sorgente
string (multiline)si
{{$node.spider.json.pages[0].html}}
HTML completo della pagina. Tipicamente da action_recursive_spider o action_web_fetch_advanced.
pageUrl
URL pagina sorgente
stringsi
https://example.com/blog/post-1/
URL assoluto della pagina originale. Necessario per risolvere link relativi prima di mapparli.
htmlSaveDir
Directory dove salverai l'HTML
stringsi
/opt/mirror/zelistore.it/blog/post-1
Path assoluto della cartella in cui scriverai l'HTML output. Tutti i link locali vengono calcolati relativi a QUESTA directory.
assetMap
Asset map (url → local path)
JSON object/arrayno{}JSON object {url assoluto: percorso filesystem}. Tipicamente {{$node.asset_download.json.stats.assetMap}}. URL non in mappa restano assoluti.
stripQuery
Rimuovi query string
booleannotrueSe ON, i path locali NON includono "?foo=bar". Default ON perché le query non hanno senso su file:// locale.
stripFragment
Rimuovi fragment (#anchor)
booleannofalseSe OFF (default), i "#anchor" vengono preservati — VLC/browser li onorano anche su file://. ON solo per output puramente statico.

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_html_mirror_rewrite-1",
  "defId": "action_html_mirror_rewrite",
  "label": "HTML Mirror Rewrite",
  "config": {
    "html": "{{$node.spider.json.pages[0].html}}",
    "pageUrl": "https://example.com/blog/post-1/",
    "htmlSaveDir": "/opt/mirror/zelistore.it/blog/post-1",
    "assetMap": "{}",
    "stripQuery": true,
    "stripFragment": false
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare HTML Mirror Rewrite?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi