javascript - 抓取网站/域并检查是否存在某种格式的 URL - JavaScript
问题描述
我想编写一些 JavaScript 来检查一个域是否包含一组特定的 URL。
例如:
是否可以在 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);
}
谢谢你。
解决方案
我假设您正在编写一个 node.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(根据站点名称进行过滤)。
推荐阅读
- c# - e_driver.register(eventListener) 中“注册”的替代方法是什么?
- javascript - 查找函数的值
- sql - SELECT INTO 在函数内
- r - 在 foreach dopar 循环中更改 data.frame 对象
- amazon-web-services - AWS Sagemaker boto3 - 通过端点预测与在本地运行模型获得不同的预测
- r - 我正在尝试在 squanstrat 中制定一种策略,当 200 SMA 大于股票时买入 QQQ,而在相反时卖出
- python - 与张量流集成
- python - selenium 的自动化测试
- r - 我不能使用 prodNA 函数在 R 中估算数据吗?
- python - 我的索引已创建并显示在 Kibana 中,但为什么 Kibana 地图中缺少它?