Sono in qualche web scraping con Node.js. Mi piacerebbe usare XPath in quanto posso generarlo in modo semi-automatico con diversi tipi di GUI. Il problema è che non riesco a trovare un modo per farlo in modo efficace.Esegui l'analisi delle pagine con Node.js e XPath
jsdom
è estremamente lento. Analizza il file 500KiB in un minuto o più con il pieno carico della CPU e un ingombro di memoria pesante.- Le librerie popolari per l'analisi HTML (ad esempio
cheerio
) non supportano XPath, né espongono DOM compatibile con W3C. - L'analisi HTML efficace è, ovviamente, implementata in WebKit, quindi usare
phantom
ocasper
sarebbe un'opzione, ma quelli richiedono di essere eseguiti in un modo speciale, non solonode <script>
. Non posso fare affidamento sul rischio implicito da questo cambiamento. Ad esempio, è molto più difficile trovare come eseguirenode-inspector
conphantom
. Spooky
è un'opzione, ma è buggy enough, in modo che non è stato eseguito affatto sulla mia macchina.
Qual è il modo corretto di analizzare una pagina HTML con XPath, quindi?
https://www.npmjs.org/package/xpath o https://github.com/yaronn/xpath.js? – mb21
@ mb21 Qualsiasi implementazione DOM performante per eseguirli? –