Parsing HTML JavaScript con HTMLAgilityPack

c# html html-agility-pack parsing

Domanda

Ho il seguente codice HTML che sto cercando di analizzare utilizzando l'HTML Agility Pack.

Questo è uno snippet di codice HTML:

<body id="station_page" class="">
...
<div>....</div>
<script type="text/javascript"> 
if (Blablabla == undefined) { var Blablabla = {}; }
Blablabla .Data1= "I want this data";
Blablabla .BlablablaData = 
{  "Data2":"I want this data",
"Blablabla":"",
"Blablabla":0   }
{   "Blablabla":123,
"Data3":"I want this data",
"Blablabla":123}
    Blablabla .Data4= I want this data;
</script>...

Sto cercando di ottenere quei 4 dati variabili (Data1, Data2, Data3, Data4). prima ho provato a trovare il javascript:

<body id="station_page" class="">
...
<div>....</div>
<script type="text/javascript"> 
if (Blablabla == undefined) { var Blablabla = {}; }
Blablabla .Data1= "I want this data";
Blablabla .BlablablaData = 
{  "Data2":"I want this data",
"Blablabla":"",
"Blablabla":0   }
{   "Blablabla":123,
"Data3":"I want this data",
"Blablabla":123}
    Blablabla .Data4= I want this data;
</script>...

Come posso verificare se è davvero il javascript giusto? Dopo aver trovato il javascript rilevante come posso ottenere quei 4 dati variabili (Data1, Data2, Data3, Data4)?

Risposta popolare

Non è possibile analizzare javascript con HTML Agility Pack, supporta solo l'analisi HTML. Puoi ottenere lo script che ti serve con un XPATH come questo:

doc.DocumentNode.SelectSingleNode("//script[contains(text(), 'Blablabla')]").InnerHtml

Ma dovrai analizzare il javascript con un altro metodo (regex, grammatica js, ecc.)




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é