【发布时间】:2020-02-02 16:46:25
【问题描述】:
我在 Python 中尝试了这段代码:
listepositive = soup.findAll('span', attrs{'class':'search_review_summary'})
pos = listpositive[0][3:5]
print(pos)
获取列表正列表 0 字符 3 到 5。 得到 TypeError: unhashable type: 'slice'...?!
你能给我一个提示吗?
【问题讨论】:
-
你没有得到一个列表,你也没有得到一个字符串。你很可能得到了
None,这就是你不能切片的原因。但不可散列数据类型集的一个示例是字典,但由于bs4中的findAll()返回一个列表,那么奇怪的是您返回的值为 None。 -
print(listpositive)给你什么? -
可能你需要从 findall 方法中创建一个列表,因为它返回一个对象
list(soup.findAll(...)) -
在这种情况下已经有答案了:stackoverflow.com/questions/42885488/…
标签: python beautifulsoup