0

使用 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不能再发自内心", '\n永远相信我们是谁', '\n其他都不重要', '\n', '\n从来没有这样打开过自己', '\n生活是我们的,我们按照自己的方式生活', "\n所有这些话我不只是说出来", '\n其他都不重要', '\ n', '\n相信我在你身上寻找和发现', '\n每一天对我们来说都是新事物', '\n为不同的观点敞开心扉', '\n其他都不重要', '\n', '\ n从不关心他们的所作所为', '\n从不关心他们所知道的', '\n但我知道', '\n', '\n无论多远都如此接近', "\n离心”, '\n永远相信我们是谁', '\n其他都不重要', '\n', '\n从不关心他们的所作所为', '\n从不关心他们所知道的', '\n但我知道', '\ n', '\n从来没有这样打开过自己', '\n生活是我们的,我们按照自己的方式生活', "\n所有这些话我不只是说出来", '\n其他都不重要', '\n' , '\n相信我在你身上寻找和发现', '\n每一天对我们来说都是新事物', '\n敞开心扉换个角度看', '\n其他都不重要', '\n', '\n从不关心', '\n从不关心他们玩的游戏', '\n从不关心他们所做的', '\n从不关心他们知道的', '\n我知道', '\n', '\ n无论多远都如此接近',"\n不能再发自内心了", '\n永远相信我们是谁', '\n其他都不重要\r\n', '\r\n']

我如何将经文放在列中?

4

1 回答 1

2

你想要的是替换:

f.write(str(lyrics).strip())

f.write("\n".join(lyrics).strip())
于 2013-10-17T15:26:29.450 回答