【发布时间】:2014-09-12 11:17:30
【问题描述】:
我有点编码新手,我一直在尝试使用 Beautiful Soup(用于从 HTML 和 XML 文件中提取数据的 Python 库)从说唱天才http://genius.com/artists/Andre-3000 中抓取 Andre 3000 的歌词。我的最终目标是让数据采用字符串格式。这是我目前所拥有的:
from bs4 import BeautifulSoup
from urllib2 import urlopen
artist_url = "http://rapgenius.com/artists/Andre-3000"
def get_song_links(url):
html = urlopen(url).read()
# print html
soup = BeautifulSoup(html, "lxml")
container = soup.find("div", "container")
song_links = [BASE_URL + dd.a["href"] for dd in container.findAll("dd")]
print song_links
get_song_links(artist_url)
for link in soup.find_all('a'):
print(link.get('href'))
所以我需要其他代码方面的帮助。如何将他的歌词转换为字符串格式?然后我如何使用自然语言工具包 (NLTK) 来标记句子和单词。
【问题讨论】:
-
这是一个很棒的主意。你会生成新的歌词对吗?我正在考虑为 Tupac 做同样的事情。必须有一个工具可以根据他们现有的歌曲生成他们的声音。我的意思是,如果它是单词级别的,那么所有新生成的歌词都包含艺术家以前唱过的单词,因此需要对声波进行采样和扭曲,以使生成的声音听起来像你想要的那样。
标签: python web-scraping beautifulsoup html-parsing nltk