我尝试使用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)?

最佳答案

您无法使用HTML Agility Pack解析javascript,它仅支持HTML解析。您可以使用XPATH来获得所需的脚本,如下所示:

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


但是您需要使用其他方法(正则表达式,js语法等)来解析javascript。

关于c# - 使用HTMLAgilityPack解析javascript HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15296613/

10-12 18:49