把这个短语放在一个专栏中

时间:2013-10-17 15:23:29

标签: python parsing urllib2

使用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']

如何列出这些经文?

1 个答案:

答案 0 :(得分:2)

你想要的是取代:

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

f.write("\n".join(lyrics).strip())