抓取网站/域并检查是否存在某种格式的 URL - JavaScript



我想写一些JavaScript,它检查一个域是否包含一组特定的URL。

例如:

  1. 检查是否 http://www.mywebsite.com/
  2. 包括以 http://www.mywebsite.com/123 开头的网址

是否可以在 JavaScript 中执行此操作?

我写过类似的东西,可以在给定页面上找到URL。 但实际上,我想检查整个域...

let offerLinks = document.querySelectorAll('a[href*="mywebsite.com/offers"]');
for (let index = 0; index < offerLinks.length; index++) {
const element = offerLinks[index];
console.log("These are all the looped offer links - " + element); 
}

谢谢。

我假设您正在编写一个节点.js应用程序。(由于同一站点的安全限制,在使用浏览器脚本的情况下,您要执行的检查将被锁定到仅托管网站(。

假设您正在编写一个 Node 应用程序,您想要执行的操作称为"抓取"(一种非常简单的抓取版本(。有许多 Node 库可以帮助您。其中之一是Cheerio。

首先,将url 内容加载到字符串中,您可以从此答案中复制代码。

其次,使用 cheerio 解析字符串并根据需要提取链接,如下所示:

const cheerio = require('cheerio')
const $ = cheerio.load(webPageLoadedContent)
$('a').filter(function(i, el) {
return $(this).attr('href').includes('mywebsite.com/offers')
})

这是单个网页的过程。要扩展到整个网站,您必须将其重新应用于您找到的每个URL(根据网站名称过滤(。

最新更新