如何在 Python 中使用 Webbot 加快查找文本的速度

我正在运行一个在 Python 3.x 中使用webbot的程序——我正在编写的程序的工作是在充满文本的页面中查找某些文本模式,并根据它是否生成结果是否找到匹配项。所以我有一堆看起来像这样的行:


if web.exists("hi I'm some text", loose_match=False) == True:

    ifoundthetext = 1

else:

    ifoundthetext = 0

这确实有效,但是每次单独搜索大约需要一两秒钟。我有很多不同的文本需要搜索,当它通过所有这些文本时,程序的每个周期大约需要 10 秒。更糟糕的是,我让程序运行的时间越长(尤其是编译后的 .exe 版本),它就会变得越慢(如果程序已经运行了一夜,可能会超过一分钟)。是的,我正在使用垃圾收集。


我尝试使用“或”语句组合文本结果,如下所示:


if web.exists("hi I'm some text", loose_match=False) == True or web.exists("hi I'm some other text", loose_match=False) == True:

但这对程序的速度没有影响。我怎样才能让这件事走得更快一点,但又不放弃 webbot?


白猪掌柜的
浏览 154回答 1
1回答

桃花长相依

评论清楚地表明,缺陷在于 Webbot 本身,它太慢了,无法完成所有重复搜索的任务。我不情愿地用 Selenium 重写了整个程序,但我很高兴我这样做了,因为它执行得更快!也因为整洁而使用布尔值。我的 Selenium 版本中的等效代码:try:    driver.find_element_by_partial_link_text("hi I'm some text")    ifoundthetext = True    print ('yay')except:    ifoundthetext = False
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python