我正在尝试使用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的所有文章文本片段的任何想法将不胜感激。
答案 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