gpt4 book ai didi

javascript - 从页面列表中查找单词

转载 作者:行者123 更新时间:2023-12-01 00:48:34 24 4
gpt4 key购买 nike

我目前正在开发一个脚本,该脚本可以检测坏词并在该词出现时发出警报。

我正在使用 puppeteer,它可以访问 chrome 浏览器,并且能够在终端中运行命令。我在控制台中尝试了很多东西,例如“包含”,但这给出了未定义的错误。 https://love2dev.com/blog/javascript-includes/

我还尝试在 Stackoverflow 上添加答案的代码; find words in html page with javascript

但这在 puppeteer 中不起作用,只有当您将其粘贴到终端中时才起作用。本系统只能搜索1个单词。我的想法是创建一个包含所有必须过滤的单词的数组。

到目前为止,我已经写了以下内容。据我了解,要运行代码,我需要将其放入评估()的 {} 中。

const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const id = new Date();
console.log(id)
await page.goto('https://www.mediamarkt.nl/nl/search.html?query=iphone&searchProfile=onlineshop&channel=mmnlnl', {waitUntil: 'networkidle2'});
const html = await page.evaluate(() => {
return page.includes("mediamarkt");
});
console.log(html)
console.log("it worked, i guess");
})();

这会产生如下错误:

19-07-23T23:38:23.763Z
(node:24944) UnhandledPromiseRejectionWarning: Error: Evaluation failed: ReferenceError: page is not defined

我的问题是,如何使用这些工具创建坏词过滤器,或者我在哪里可以了解更多有关构建此过滤器所需的技能。

谢谢

最佳答案

如果您只想查找所有不良单词(例如您有一系列不良单词)并且想要检查页面内容是否包含任何不良单词,您可以执行以下操作:

const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const id = new Date();
console.log(id)
await page.goto('https://www.mediamarkt.nl/nl/search.html?query=iphone&searchProfile=onlineshop&channel=mmnlnl', {waitUntil: 'networkidle2'});
const blackList = ['home', 'mediamarkt', 'sorteren', 'maakt'];

const pageContent = await page.$eval('body', el => el.textContent);
const result = pageContent.split(/\s+/).filter(text => blackList.includes(text.toLowerCase()));
await browser.close();
console.log("Here is the array of the found words", result);
})();

它将返回页面上所有发现的不良单词的数组。希望我能正确理解你的问题。

关于javascript - 从页面列表中查找单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com