【发布时间】:2018-12-15 08:32:49
【问题描述】:
result = soup.find('span', {'id': 'dlROA_ctl35_lblROALINE'}).get_text()
我想通过使用变量使其动态化来做与上述相同的事情。我正在使用以下代码,但它不起作用:
i = 135
idstring = 'dlROA_ct'+str(i)+'_lblROALINE'
dict1 = {'id': idstring}
result = soup.find('span', dict1).get_text()
我收到错误消息:“AttributeError: 'NoneType' object has no attribute 'get_text'”
【问题讨论】:
-
不要调用你的变量
dict,它会覆盖Python内置的dict类 -
好吧,我把它改成 dict1,它仍然显示同样的错误.. 感谢您指出这一点!
-
这很可能是因为您的原始字符串有
l35,如字母l,而不是整数135的字符串表示形式 -
啊……我太傻了……谢谢你指出来……!!
-
你的第一个代码也出错了吗?如果是这样,那是因为汤不包含您要查找的跨度。如果不是,那么您需要将 i 编辑为 35,而不是 135,然后将 l 放回
'dlROA_ct',因此它是'dlROA_ctl'
标签: python beautifulsoup