在 HTML 页快速算法中查找单词

Find word in HTML page fast algorithm

我需要做一个布尔函数,如果某个词在 HTML 页面的文本中,则 returns 为真,否则为假。

我知道使用 lxml 库很容易分析所有页面树直到找到单词,但我发现遍历所有 html 块并查找单词是否是低效的那里。

有没有更快算法的建议(我需要多次搜索)?

只要你不担心在元素属性或其他东西中意外找到这个词(如果你担心,用 lxml 之类的东西解析 HTML 是你唯一的选择),您可以将整个 HTML 文档视为一个大字符串并在其中搜索您的单词:

def checkForWord():
    r = requests.get("http://example.com/somepage.html")
    return "myWord" in r.text

我会将整个页面作为字符串获取:

var markup = document.documentElement.innerHTML;

然后,我将使用一种方法在字符串中搜索字符串:

var n = markup.search("YourString");

您将获得匹配索引的数字,如果未找到匹配,您将获得 -1。