【问题标题】:Parsing javascript HTML using HTMLAgilityPack使用 HTMLAgilityPack 解析 javascript HTML
【发布时间】:2013-03-08 22:59:40
【问题描述】:

我尝试使用 HTML 敏捷包解析以下 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)?

【问题讨论】:

  • 我认为这是错误的做法。不知道什么是正确的方法,但这(使用 htmlagilitypack)不是。
  • 听起来您需要执行 javascript,而不仅仅是解析它?如果是这样,那么这是一种方法:stackoverflow.com/questions/2530789/…

标签: c# html parsing html-agility-pack


【解决方案1】:

你不能用 HTML Agility Pack 解析 javascript,它只支持 HTML 解析。您可以使用这样的 XPATH 获取所需的脚本:

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

但你需要用另一种方法(正则表达式、js 语法等)解析 javascript

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 2016-11-20
    • 2010-12-03
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多