如何获取 HTML 行元素,同时有条件地搜索行中的另一个值

问题描述

我有一个脚本可以从站点获取数据,但想要对其进行更多控制。我以前从未真正使用过 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);
});