如何用BeautifulSoup完美提取网页中<p>标签的文本内容?
提取
标签纯文本的解决方案
- 问题核心:
soup.findAll('p')返回的是标签对象列表,直接打印会输出标签结构,需提取每个标签内的文本内容 - 修正代码:
import requests from bs4 import BeautifulSoup link = 'https://trumpwhitehouse.archives.gov/briefings/statements/remarks-president-trump-farewell-address-nation/' page = requests.get(link) soup = BeautifulSoup(page.content,'lxml') # 遍历所有p标签,提取纯文本并去除首尾空白 paragraphs = [p.get_text(strip=True) for p in soup.find_all('p')] # 逐个打印纯文本段落 for para in paragraphs: print(para)
关键说明
使用.get_text(strip=True)方法可以直接提取标签内的纯文本,strip=True参数会自动去除文本前后的换行、空格等冗余空白字符。如果不需要去除空白,直接用.text属性也能获取纯文本。
示例文本中文翻译
原输出的英文示例文本翻译如下:
白宫
总统:我的美国同胞们:四年前,我们启动了一项……旨在恢复政府对公民的忠诚。简而言之,我们踏上了一条让美国属于所有美国人的道路。
在我即将结束美国第45任总统任期之际,我……还有更多的话要说。
本周,我们为它祈祷,送上最美好的祝福,同时我们也希望——一个非常重要的词。
内容的提问来源于stack exchange,提问作者usman Abbasi
相关产品推荐
相关产品推荐

