我正在尝试使用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:
doc.DocumentNode.SelectSingleNode("//script[@type='text/javascript']").InnerHtml
如何检查它是否真的是正确的JavaScript? 找到相关的javascript后,我怎样才能得到那4个数据变量(Data1,Data2,Data3,Data4)?
答案 0 :(得分:3)
您无法使用HTML Agility Pack解析javascript,它只支持HTML解析。您可以使用XPATH来获取所需的脚本:
doc.DocumentNode.SelectSingleNode("//script[contains(text(), 'Blablabla')]").InnerHtml
但你需要用另一种方法解析javascript(正则表达式,js语法等)