问题描述
我有一个脚本可以从站点获取数据,但想要对其进行更多控制。我以前从未真正使用过 Javascript;我找到了该脚本,并正在努力使其在 Google Scripts 中变得更好。现在我进入行标记并获取我需要的值,但是我只能获取第一行。该行中还有一个日期值。我想在尝试提取数据时包含此内容。有没有办法可以检查行中的其他项目?现在我有以下内容。
var url = "https://www.sec.gov/cgi-bin/browse-edgar?CIK="+company+"&type="+filetype+"&owner=exclude&action=getcompany&Find=Search";
var result = UrlFetchApp.fetch(url).getContentText();
var regEx = new RegExp("\<a href=.(\/cgi-bin.+type=v)");
以上是我现在所拥有的。 regEx 正在获取我需要的链接;这是我想要更多控制的项目。我正在考虑提取所有行并作为文本并匹配日期,或者更好地有一个条件来过滤日期是作为参数提供的日期。
解决方法
您可以将获取的结果解析为 html,然后查询您需要的所有附加数据:
fetch(url).then(res => {
return res.text();
}).then(text => {
// Parse text into the DOM object
let parser = new DOMParser(); // <= native browser API
let doc = parser.parseFromString(text,'text/html');
// Select some data from the DOM
doc.querySelector('{some selector for the data you are looking for}');
}).catch(err => {
console.warn('Something went wrong.',err);
});