1
尽管此代码的工作非常快:Python的BeautifulSoup是不必要的慢
for olay in soup("li", {"class":"textb"}):
tanim = olay("strong")
try:
print tanim[0]
except IndexError:
pass
这样获取字符串属性使得这个码要慢得多:
for olay in soup("li", {"class":"textb"}):
tanim = olay("strong")
try:
print tanim[0].string
except IndexError:
pass
我的问题是,我在做什么,我不应该得到那样的字符串属性?我是否应该使用其他方法来获取纯文本版本的对象?
更新: 这也是工作得很快,所以我认为字符串属性的缓慢是独特的?
for olay in soup("li", {"class":"textb"}):
tanim = olay("strong")
try:
print tanim[0].text
except IndexError:
pass
我无法重现这一点。对我而言,`.text`最慢,其他两个差不多。尽管如此,整体差异并不大。所以问题是:你在测试什么,以及如何? – ekhumoro 2011-12-17 20:10:57