使用urllib2,我试图从HTML文件中保存歌词。好.. 这是代码:
generate_url = 'http://azlyrics.com/lyrics/' + artist_split + '/' + title_split + '.html'
try:
response = urllib2.urlopen(generate_url)
except urllib2.HTTPError:
print "Lyrics doesn't exist. Please try again."
time.sleep(0.75)
UMM.lyrics_from_track()
read_lyrics = response.read()
#Parsing HTML file containing lyrics
parser = etree.HTMLParser()
tree = etree.parse(StringIO.StringIO(read_lyrics), parser)
lyrics = tree.xpath("//div[@style='margin-left:10px;margin-right:10px;']/text()")
print ''
print '\033[32m-----------------------------------------\033[0m'
for words in lyrics:
print str(words).strip()
print '\033[32m-----------------------------------------\033[0m'
print ''
save = raw_input("Do you want to save this lyrics in a txt file in current working directory? [Y/N] ")
if save == 'y' or save == 'Y':
f = open(artist + '_' + title + '.txt', 'w')
f.write(str(lyrics).strip())
f.close()
print 'Return to main menu.'
time.sleep(0.75)
UMM.read_information()
elif save == 'n' or save == 'N':
print 'Return to main menu.'
time.sleep(0.75)
os.system('clear')
UMM.read_information()
else:
print 'Incorrect choice.'
time.sleep(0.75)
UMM.lyrics_from_track()
如果要在txt文件中保存歌词,则输出如下:
['\ r \ n','\ r \ n所以无论多远都要关闭',“\ n不可能更多 来自内心“,'\ nForever信任我们是谁','\ n没有别的 事情','\ n','\ n永远不会这样打开','\ n生活是我们的,我们 按照我们的方式生活','\ n所有这些词我不只是说','\ n什么都没有 其他很重要','\ n','\ n我正在寻找,我找到你','\ n每一天 为我们提供一些新的','\ n为不同的观点打开心灵','\ n和 没有别的事情','\ n','\ n永远不关心他们做什么', '\ nNever关心他们所知道','\ n但我知道','\ n','\ n关闭 无论多远,'\ n不可能更多来自内心“, '\ n更好地相信我们是谁','\ n没有别的事情','\ n', '\ n永远不关心他们做什么','\ nNever关心他们所知道的', '\ n但我知道','\ n','\ n永远不会这样打开','\ n生命是 我们的,我们按照我们的方式生活','\ n所有这些话我不只是说“, '\ n没有别的事情','\ n','\ n我信任,我找到了 你','\ n每天为我们提供新的东西','\ n为不同的人开心 查看','\ n没有别的事情重要','\ n','\ n永远不关心什么 他们说','\ nNever关注他们玩的游戏','\ nNever关心 他们做什么','\ n永远不关心他们所知道','\ n我知道', '\ n','\ n无论多远,都要关闭',“\ n不能再多了。” 心脏“,'\ nForever信任我们是谁','\ n别无其他 事项\ r \ n','\ r \ n']
如何列出这些经文?
答案 0 :(得分:2)
你想要的是取代:
f.write(str(lyrics).strip())
与
f.write("\n".join(lyrics).strip())