如何用Python爬取HTML页面h3标签并提取纯文本内容?
解决方法
要提取h3标签内的纯文本,只需要遍历每个h3标签元素,调用get_text()方法(或.text属性)提取文本内容即可,推荐加上strip=True参数去除文本前后的空白字符,让结果更干净。
修改后的完整代码
import requests from bs4 import BeautifulSoup url = 'http://www.columbia.edu/~fdc/sample.html' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 用列表推导式提取每个h3标签的纯文本 text_list = [item.get_text(strip=True) for item in soup.findAll('h3')] print(text_list)
说明
soup.findAll('h3')返回的是BeautifulSoup的Tag对象列表,每个Tag对象的get_text()方法会提取标签内所有的纯文本内容(包括子标签的文本,如果有的话)。strip=True会自动去除文本前后的换行符、空格、制表符等无用空白,避免结果里出现多余的空白内容。
运行修改后的代码,就能得到你想要的纯文本列表:['CONTENTS', '1. Creating a Web Page', '2. HTML Syntax', ...]
内容的提问来源于stack exchange,提问作者3Vw
相关产品推荐
相关产品推荐

