我在Spotify上做了一个搜索歌曲歌词的应用。 该应用程序从Genius.com获取所有歌词。 问题是他们已经改变了他们的网站,现在包含所有歌词的div标签被命名为一个奇怪的名字。。。 最近,它被命名为lyrics
,但现在它是这样的:lyrics__container-SC-1YNBVZW-2 jgqsqn
,我猜每个div标记都包含“lyrics__container”关键字和它更改后的字母。 我得到歌词的台词是这样的:
page = requests.get(url)
html = BeautifulSoup(page.text, 'html.parser')
lyrics = html.find('div', class_='lyrics').get_text()
有没有一种方法从div标记中获取文本,只需知道它是以“lyrics__container”开头的?
在class_
中使用正则表达式:
“与任何关键字参数一样,您可以传递class_一个字符串,一个正则表达式,一个函数或true:”https://www.crummy.com/software/beautifulsoup/bs4/doc/#searching-by-css-class
例如:
import re
lyrics = html.find('div', class_=re.compile(r'^Lyrics__Container')).get_text()