擅长:python、mysql、java
<p>你可以用正则表达式</p>
<pre><code>import requests
import re
from bs4 import BeautifulSoup
team_urls = ['http://www.lyricsfreak.com/e/ed+sheeran/shape+of+you_21113143.html/',
'http://www.lyricsfreak.com/e/ed+sheeran/thinking+out+loud_21083784.html',
'http://www.lyricsfreak.com/e/ed+sheeran/photograph_21058341.html']
for url in team_urls:
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
for e in soup.find_all('br'):
e.replace_with('\n')
lyrics = soup.find(class_='dn')
cleanr = re.compile('<.*?>')
cleantext = re.sub(cleanr, '', lyrics.text)
print(cleantext)
</code></pre>
<p>这将删除<;和></p>
<p>通过使用python文档中提到的特殊字符</p>
<p>““</p>
<p>一。
(Dot.)在默认模式下,它匹配除换行符之外的任何字符。如果指定了DOTALL标志,则匹配任何字符(包括换行符)。在</p>
<p>在*
使得到的RE与前面的RE重复0次或更多次匹配,尽可能多地重复。ab*将匹配“a”、“ab”或“a”,后跟任意数量的“b”</p>
<p>是吗?
使生成的RE与前面的RE重复0或1次匹配。阿伯?将匹配“a”或“ab”。在</p>
<p>““</p>
<p>来自<a href="https://docs.python.org/3/library/re.html" rel="nofollow noreferrer">https://docs.python.org/3/library/re.html</a></p>