Traceback (most recent call last): File "D:\Python123\大作业\yuyinshibie.py", line 32, in <module> print(get_music_url('青花瓷')) File "D:\Python123\大作业\yuyinshibie.py", line 14, in get_music_url result_list = soup.find('ul', {'class': 'srch-list'}).find_all('a') AttributeError: 'NoneType' object has no attribute 'find_all' 进程已结束,退出代码1
时间: 2024-04-26 09:25:09 浏览: 97
浅谈Python traceback的优雅处理
这个错误提示说明在 `soup.find('ul', {'class': 'srch-list'})` 这一行代码中,BeautifulSoup 没有找到对应的 HTML 标签,因此返回了 `None`,接着在 `None` 上执行 `find_all('a')` 方法就会出现 `'NoneType' object has no attribute 'find_all'` 的错误。
这个问题可能是因为你搜索的音乐名在网站上没有找到对应的结果,或者网站的页面结构发生了变化,导致代码无法正确解析。你可以先尝试手动在网站上搜索该音乐名,看看是否能够找到对应的结果。如果能够找到,则需要检查你的代码是否正确,如果找不到则说明该音乐名可能不在该网站的数据库中。
另外,如果你对该网站的页面结构比较熟悉,也可以尝试手动解析页面,即使用 `response.text` 获取到页面源码后,手动查找对应的 HTML 标签和属性,再进行提取。这种方法比较麻烦,但是可以更加灵活地解析页面。
阅读全文