我正在运行一个在 Python 3.x 中使用webbot的程序——我正在编写的程序的工作是在充满文本的页面中查找某些文本模式,并根据它是否生成结果是否找到匹配项。所以我有一堆看起来像这样的行:if web.exists("hi I'm some text", loose_match=False) == True: ifoundthetext = 1else: 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?
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
评论清楚地表明,缺陷在于 Webbot 本身,它太慢了,无法完成所有重复搜索的任务。
我不情愿地用 Selenium 重写了整个程序,但我很高兴我这样做了,因为它执行得更快!
也因为整洁而使用布尔值。
我的 Selenium 版本中的等效代码:
try:
driver.find_element_by_partial_link_text("hi I'm some text")
ifoundthetext = True
print ('yay')
except:
ifoundthetext = False
添加回答
举报
0/150
提交
取消