我想使用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/