使用BeautifulSoup提取文章文本

时间:2017-04-18 17:20:37

标签: python html parsing beautifulsoup

我正在尝试使用BeautifulSoup从文章中提取所有文本。我可以将所有文章的文本与前面和后面的HTML分开,但我无法弄清楚如何将文本与所有嵌入的HTML代码分开。 这是我的代码:

from bs4 import BeautifulSoup
import requests
url = 'http://www.prnewswire.com/news-releases/tata-consultancy-services-reports-broad-based-growth-across-markets-marks-steady-fy17-300440934.html'
r = requests.get(url)
html = r.text
soup = BeautifulSoup(html, 'lxml')
links = soup.find_all('p', {'itemprop': 'articleBody'})

链接包含所有文章文本,但它分为几个部分。

有关如何分离和组合文章文本中散布的HTML的所有文章文本片段的任何想法将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用get_text方法返回标记下方的所有文字:

links = [e.get_text() for e in soup.find_all('p', {'itemprop': 'articleBody'})]

然后加入你想要的:

article = '\n'.join(links)
print len(article)

会输出

$ 6485