我正在读哈佛大学的一门CS 109课程,但无法从数据库中250部投票最多的电影中获得收视率。我想我的问题是有两个td.ratingColumn
,一个是评级的,另一个是——紧接着——要求你给电影评分。第二个td.ratingColumn
不包含</strong>
。这能说明我的错误吗?如何调整代码以获得所有评级?9.2等于1/250。谢谢。在
dom = web.Element(r.text)
for movie in dom.by_tag('td.ratingColumn'):
rating = runtime.by_tag('strong')[0].content
print rating
9.2
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-9-ca9164c76716> in <module>()
2
3 for movie in dom.by_tag('td.ratingColumn'):
----> 4 rating = movie.by_tag('strong')[0].content
5 print rating
IndexError: list index out of range
正如您所指出的,由于第二个元素不包含标记,所以返回一个空数组,当试图访问第一个元素时,它会引发一个
IndexError
异常。在这应该是有效的:
如果我漏掉了什么就告诉我。在
相关问题 更多 >
编程相关推荐