def __get_song_from_list(cls, element):
ul = element.find('ul', {'class': cls.BOARD_CONTENT_CLASS})
url = ul.get(cls.SONG_URL_PROP)
id_parts = url.split('/')
song_id = id_parts[4] if len(id_parts) > 4 else None
title_item = ul.find('li', {'class': cls.SONG_TITLE_CLASS})
title = capwords(title_item.text) if title_item else None
artist_item = ul.find('li', {'class': cls.SONG_ARTIST_CLASS})
artist = capwords(artist_item.text) if artist_item else None
bit_rate = ul.find('li', {'class': cls.SONG_BIT_RATE_CLASS}).text
bit_rate_parts = bit_rate.split()
bit_rate = bit_rate_parts[0] if bit_rate_parts else None
length = ul.find('li', {'class': cls.SONG_LENGTH_CLASS}).text
length = Song.get_length_from_string(length)
song_dict = {
'song_id': song_id,
'title': title,
'artist': artist,
'bit_rate': bit_rate,
'length': length,
'url': url
}
return Song(**song_dict)
评论列表
文章目录