Analyse de HTML javascript à l'aide de HTMLAgilityPack

c# html html-agility-pack parsing

Question

J'essaie d'analyser le code HTML suivant à l'aide du pack d'agilité HTML.

Ceci est un extrait de code 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>...

J'essaie d'obtenir ces 4 variables de données (Data1, Data2, Data3, Data4). J'ai d'abord essayé de trouver le 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>...

Comment puis-je vérifier si c'est vraiment le bon javascript? Après avoir trouvé le javascript approprié, comment puis-je obtenir ces 4 variables de données (Data1, Data2, Data3, Data4)?

Réponse populaire

Vous ne pouvez pas analyser javascript avec HTML Agility Pack, il ne prend en charge que l'analyse HTML. Vous pouvez obtenir le script dont vous avez besoin avec un XPATH comme celui-ci:

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

Mais vous devrez analyser le javascript avec une autre méthode (regex, grammaire js, etc.)




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi