【发布时间】:2020-12-22 15:00:19
【问题描述】:
我正在尝试从天才那里收集一些歌曲。我创建了以下方法:
import requests
from bs4 import BeautifulSoup
def get_song_lyrics(link):
response = requests.get(link)
soup = BeautifulSoup(response.text, "html.parser")
lyrics = soup.find("div",attrs={'class':'lyrics'}).find("p").get_text()
return [i for i in lyrics.splitlines()]
我不明白这是为什么
get_song_lyrics('https://genius.com/Kanye-west-black-skinhead-lyrics')
返回:
AttributeError: 'NoneType' 对象没有属性 'find'
此时:
get_song_lyrics('https://genius.com/Kanye-west-hold-my-liquor-lyrics')
正确返回歌曲的歌词。两个页面具有相同的布局。 有人可以帮我弄清楚吗?
【问题讨论】:
标签: python beautifulsoup screen-scraping