虽然这段代码运行得非常快:
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
答案 0 :(得分:0)
如果您只想打印tanim[0]
的字符串表示。你应该这样做:print str(tanim[0])
。另外,执行dir(tanim[0])
以查看它是否具有名为string
的属性。
for olay in soup("li", {"class":"textb"}):
tanim = olay("strong")
try:
print str(tanim[0])
except IndexError:
pass
为了让每个人都能提供更好的答案,您还可以发布目标HTML或URI,并提及您尝试从中提取的位。