javascript - 获取网页的 URL,不包括组件的 URL

标签 javascript html

我想使用javascript获取谷歌搜索结果第一页上所有网页的URL,不包括搜索页面上组件的URL,即twitter组件、视频组件、人们也问组件等。但我不这样做知道如何排除这些网址吗?我尝试使用以下代码获取它们

for (url in urls) {
  var a = urls[url].href;
  var aURL1 = urls[url].href;
  console.log(aURL1);
  console.log(a);
  if (urls[url].textContent == aURL1) {
    console.log("found");
  }
}

但它给出了所有 URL,包括来自视频、Twitter 等组件的 URL。

最佳答案

这可能对你有帮助。
实际上,您可以使用 document.querySelectorAll('a') 获取所有 url,并过滤 twitter 和视频链接(如下所示)

const excludeUrls = ['twitter', 'youtube'];
const allUrls = Array.from(document.querySelectorAll('a')).map(each => each.href);
const finalUrls = [];
for (const each of allUrls) {
    let cnt = 0;
    for(const elm of excludeUrls) {
        if (each.includes(elm)) cnt++
    }
    if (!cnt) {
     finalUrls.push(each);
    }
}
console.log('All Urls Count: ' + allUrls.length, 'Filtered Urls Count: ' + finalUrls.length);
console.log(finalUrls);

我想问一个问题,用例是什么?为什么要这样做?

关于javascript - 获取网页的 URL,不包括组件的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59855353/

相关文章:

javascript - 刷新时加载一秒钟的所有 Jquery 选项卡的内容

javascript - 未捕获的类型错误 : Object #<NodeList> has no method 'addEventListener'

javascript - 单击其他按钮时隐藏一个表单(两个按钮,两个表单)(PHP/HTML/Javascript)

html - 试图组织我的 DIV

javascript - 图像顶部的响应式文本叠加

html - CSS Sprite 菜单不会在 IE8 中显示

html - 为什么 Bootstrap 3 中的下拉菜单会给出不寻常的字符?

php - cakephp 调试信息意外出现

javascript - void 运算符在 javascript 中是如何工作的

javascript - 在 Javascript 中,如何计算字符串中包含 3、4、5 或 6 个字符的单词数?