Come posso raschiare i dati da una pagina Web dopo aver ricercato i dati desiderati usando l'Agilità HTML

asp.net c# html html-agility-pack

Domanda

Voglio ottenere informazioni da questo sito

nella mia pagina ASPX utilizzando l'HTML Agility Pack. Ma non posso farlo, dal momento che i dati vengono caricati dopo che ho cercato i dati nella pagina web.

Ho bisogno di alcuni dati da eseguire continuamente dopo un intervallo di 5 minuti.

Risposta popolare

I risultati per le ricerche nel sito web che hai citato sono resi dinamicamente usando Javascript e i dati arrivano come risposta Json tramite Ajax. HtmlAgilityPack ha lo scopo di analizzare Html, non Json.

Prendi in considerazione l'utilizzo di driver Selenium o iMacros per .Net o la classe WebBrowser fornita da Microsoft Framework. Questi strumenti eseguono un browser in background, in modo che possano eseguire il codice Javascript in quella pagina e renderizzare Html che si desidera analizzare.

È sufficiente impostare il timeout appropriato, in modo che continuino ad attendere fino a quando i risultati della ricerca non vengono visualizzati nella pagina.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché