La încărcarea unei pagini web, sunt executate javascript-uri pentru a oferi informații. Vreau să „încarc” o pagină (inclusiv executarea javascript-urilor), dar în loc să obțin rezultatul html după aceea, vreau să obțin rezultatul unuia dintre javascript-urile executate. Am calea către pagina web și scriptul.
Acest lucru este exact la fel cu a merge la google, a încărca o pagină în timp ce aveți dev-tools->consola deschisă și vizualizați un javascript și ieșirea lui json. Am adresa URL a site-ului (de ex. https://example.com) și adresa URL a javascript-ului din care vreau să scot (de ex. https://example.com/script.js).
Dacă este posibil, aș dori să integrez imediat jq pentru a obține valoarea dorită în acea ieșire json ca ieșire a scriptului (deci ieșirea scriptului ar trebui să fie doar valoarea „brută” a unei chei în ieșirea json a acesteia javascript).
Și prefer să se facă folosind PhantomJS, totuși sunt deschis la alte lucruri.
- Trebuie să dau adresa URL printr-un argument. În interiorul scriptului phantomjs, adresa URL ar fi
$1
și adresa URL a scriptului $1/script.js
, pentru a o spune în limbajul bash.
- „Calea” jq (alias .path.to.key) poate fi setată în script, astfel încât aceasta nu trebuie să fie dată printr-un argument.
- Trebuie să obțin rezultatul într-o variabilă a unui script bash.
Deci cele trei puncte combinate ar fi valoare=$(phantomjs test.js https://example.com)
Sper că mă poți ajuta. Mulțumiri!