擅长:python、mysql、java
<p>使用正则表达式:</p>
<pre><code>re.sub('<[^<]+?>', '', text)
</code></pre>
<p>使用BeautifulSoup:(来自<a href="https://stackoverflow.com/a/24618186/2142994">here</a>的解决方案)</p>
<pre><code>import urllib
from bs4 import BeautifulSoup
url = "http://news.bbc.co.uk/2/hi/health/2284783.stm"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
# kill all script and style elements
for script in soup(["script", "style"]):
script.extract() # rip it out
# get text
text = soup.get_text()
# break into lines and remove leading and trailing space on each
lines = (line.strip() for line in text.splitlines())
# break multi-headlines into a line each
chunks = (phrase.strip() for line in lines for phrase in line.split(" "))
# drop blank lines
text = '\n'.join(chunk for chunk in chunks if chunk)
print(text)
</code></pre>
<p>使用NLTK:</p>
<pre><code>import nltk
from urllib import urlopen
url = "https://stackoverflow.com/questions/tagged/python"
html = urlopen(url).read()
raw = nltk.clean_html(html)
print(raw)
</code></pre>