我想从某个网页的日历中收集事件(例如宴会)。它们存储在JSON中,但日期/时间似乎已编码并通过“模糊的” JavaScript阅读。我想知道是否有一个允许将JSON键跟踪到呈现的HTML的库。一个例子:
如果浏览器收到JSON:
[
"banquet_1": { .... "banquetDate": "029jsdfaswd9fa0d" ... },....
"banquet_j": { .... "banquetDate": "90fdajsdafñ23m29" ... },...
]
该网页继续并运行使用“ banquetDate”值的javascript。例如
r = q + json["banquetDate"]...
x = f(r,t)...
bar = w(x,p)JSONTracer类将跟踪使用JSON数据和JSONTracer.result的所有对象(可能在运行时)将在呈现的html中包含所有出现的事件。例如,在运行的网页中跟踪原始JSON中的数据,直到变量“ bar”,然后通过诸如以下网页中的行输入到HTML:
element(`id=${foo}`).append("<div class = 'date'>" + bar + "</div>");
结果“ div”元素的文本可能是从“ banquetDate”值解码的日期,因为它部分地源自该键的值。 JSON跟踪器将从原始JSON数据中“跟踪”所有此类html内容并将其存储为匹配项。
为更好地说明,下面是一个使用示例(伪代码):
require JSONTracer,Browser;
browser0 = new Browser( url );
tracer0 = new JSONTracer('child_contains[key = "banquetDate"]');
browser0.AddTracer( tracer0 );
browser0.run();
for banquet in tracer0.result:
for match in banquet["banquetDate"].matches:
if document.getElement(`contains["${match}"]`).attr(class,"date" )
event_date = match;
alert( `banquet ${banquet["banquetName"].value} occurs at date ${event_date}`);
}
}
我希望我解释得很好/可以接受。使用此方法的解决方案-如果它确实合乎逻辑,或者将有更好的方法将被重视。
预先感谢, 丹妮