Python中文
首页
教程
问答
标签
搜索
登录
注册
BeautifulSoup.text方法返回不带分隔符的文本(\n、\r等)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图解析来自俄罗斯最大歌词网站<a href="http://amalgama-lab.com" rel="noreferrer">http://amalgama-lab.com</a>的歌词,并将歌词(翻译和原始)保存到Vkontakte帐户的音频列表中(遗憾的是,amalgama没有任何API)</p> <pre><code>import urllib from BeautifulSoup import BeautifulSoup import vkontakte vk = vkontakte.API(token=<SECRET_TOKEN>) audios = vk.getAudios(count='2') #{u'artist': u'The Beatles', u'url': u'http://cs4519.vkontakte.ru/u4665445/audio/4241af71a888.mp3', u'title': u'Yesterday', u'lyrics_id': u'2365986', u'duration': 130, u'aid': 166194990, u'owner_id': 173505924} url = 'http://amalgama.mobi/songs/' for i in audios: print i['artist'] if i['artist'].startswith('The '): url += i['artist'][4:5] + '/' + i['artist'][4:].replace(' ', '_') + '/' +i['title'].replace(' ', '_') + '.html' else: url += i['artist'][:1] + '/' + i['artist'].replace(' ', '_') + '/' +i['title'].replace(' ', '_') + '.html' url = url.lower() page = urllib.urlopen(url) soup = BeautifulSoup(page.read(), fromEncoding="utf-8") texts = soup.findAll('ol', ) if len(texts) != 0: en = texts[0].text #this! ru = texts[1].text #this! vk.get('audio.edit', aid=i['aid'], oid = i['owner_id'], artist=i['artist'], title = i['title'], text = ru, no_search = 0) </code></pre> <p>但是.text方法返回字符串<em>而不返回任何分隔符:</p> <p>“昨天,我所有的烦恼似乎都离我太远了,看起来好像它们都在这里等待着我,我相信昨天突然,我不再是以前的一半了,有一个阴影笼罩着我,昨天突然来了[合唱:]为什么她要走我不知道,她不会说我说错了什么,现在我渴望昨天,爱是这样的一个简单的游戏现在我需要一个藏身的地方,我相信</p> <p>这是主要问题。接下来,有什么更好的方法来保存这样的歌词:</p> <p>歌词第1行(原件)</p> <p>歌词第1行(翻译)</p> <p>歌词第2行(原文)</p> <p>歌词第2行(翻译)</p> <p>歌词第三行(原文)</p> <p>歌词第三行(翻译)</p> <p>。。。</p> <p>是吗?我只得到混乱的代码。谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我建议你调查一下<a href="http://www.crummy.com/software/BeautifulSoup/bs4/doc/#strings-and-stripped-strings" rel="noreferrer">the .strings generator found in Beautiful Soup 4</a>。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
VirtualEnvRapper错误:路径python2(来自python=python2)不存在
8 回答
virtualenvs上的pyinstaller,没有名为导入错误的模块
7 回答
virtualenvs是否可以退回到用户包而不是系统包?
1 回答
virtualenvwrapper CentOS7
3 回答
virtualenvwrapper IOError:[Errno 13]权限被拒绝
2 回答
virtualenvwrapper mkproject和shell在windows中的启动问题?
9 回答
virtualenvwrapper mkvirtualenv不工作但没有错误
8 回答
Virtualenvwrapper python bash
4 回答
virtualenvwrapper:“workon”何时更改到项目目录?
9 回答
virtualenvwrapper:mkvirtualenv可以工作,但是rmvirtualenv返回bash:没有这样的文件或目录
3 回答
virtualenvwrapper:virtualenv信息存储在哪里?
3 回答
virtualenvwrapper:命令“python设置.pyegg_info“失败,错误代码为1
2 回答
virtualenvwrapper:如何将mkvirtualenv的默认Python版本/路径更改为ins
3 回答
Virtualenvwrapper:模块“pkg_resources”没有属性“iter_entry_points”
3 回答
Virtualenvwrapper:没有名为virtualenvwrapp的模块
3 回答
Virtualenvwrapper.bash_profi的正确设置
2 回答
Virtualenvwrapper.hook:权限被拒绝
9 回答
virtualenvwrapper.sh:fork:资源暂时不可用Python/Djang
1 回答
Virtualenvwrapper.shlssitepackages命令不工作
4 回答
Virtualenvwrapper.sh函数在bash sh中不可用
5 回答