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

aro*_*ire 5 html python search cpu-word python-requests

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

我知道分析所有页面树直到用lxml库查找单词很容易,但我发现迭代所有html块并查找单词是否存在效率低下.

对更快算法的任何建议(我需要这么多次搜索)?

Hay*_*iff 3

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

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

  • 请注意,对于 Python 2.x,如果您想正确处理包含非 ASCII 字符的文本,则应该类似于 r.text 中的 `u"Rodr\xedguez" - `r.text` 返回 `unicode`,因此搜索term 也需要是 unicode。 (2认同)