我正在尝试获取美国各州的缩写,但此代码:
from bs4 import BeautifulSoup
from urllib.request import urlopen
url='https://simple.wikipedia.org/wiki/List_of_U.S._states'
web=urlopen(url)
source=BeautifulSoup(web, 'html.parser')
table=source.find('table', {'class': 'wikitable sortable jquery-tablesorter'})
abbs=table.find_all('b')
print(abbs.get_text())
返回 AttributeError:’Nonetype’ 对象没有属性 ‘find_all’。我的代码有什么问题?
原文由 Roy Kim 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如评论中所建议的,网址中的 HTML 没有包含该类的表格
但是类实际上是
此外,一旦您应用 find_all,它会返回一个包含所有标签的列表,因此您不能直接对其应用 get_text()。您可以使用列表理解来去除列表中每个元素的文本。这是适用于您的问题的代码