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


问题内容

我需要做一个布尔函数,如果一个单词在HTML页面的文本中,则返回true,否则返回false。

我知道分析所有页面树直到在lxml库中找到单词都是很容易的,但是我发现遍历所有html块并查找单词是否存在效率不高。

对更快的算法有什么建议(我需要进行多次搜索)?


问题答案:

只要您不担心意外地在element属性或其他内容中找到单词(并且您对此担心,那么使用lxml之类的东西来解析HTML都是您唯一的选择),则可以处理整个HTML将文档作为大字符串并在其中搜索您的单词:

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