我需要做一个布尔函数,如果一个单词在HTML页面的文本中,则返回true,否则返回false。
我知道使用lxml
库分析整个页面树以找到单词很容易,但我认为迭代所有HTML块并查找单词是低效的。
有没有更快的算法建议(我需要多次进行此搜索)?
我需要做一个布尔函数,如果一个单词在HTML页面的文本中,则返回true,否则返回false。
我知道使用lxml
库分析整个页面树以找到单词很容易,但我认为迭代所有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。
textContent
放入专用存储(如ElastiSearch
或Solr
)可能是值得的。 - musically_utrequests
会话对象,这将显着加快代码中的网络部分。 - Lukas Graf