HTMLAgilityPackを使用したjavascript HTMLの解析


質問

私はHTML Agility Packを使って解析しようとしている以下のHTMLを持っています。

これは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>...

私はこれらの4つのデータ変数(Data1、Data2、Data3、Data4)を取得するつもりです。最初に、私は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>...

それが本当に正しいjavascriptかどうかをどのように確認できますか?関連するjavascriptを見つけたら、どうすればこれらの4つのデータ変数(Data1、Data2、Data3、Data4)を取得できますか?

人気のある回答

HTMLアジャイルパックではJavaScriptを解析できません.HTML解析のみサポートしています。次のようにXPATHを使って必要なスクリプトを得ることができます:

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

しかし、別のメソッド(regex、js文法など)でjavascriptを解析する必要があります。





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ