Python爬虫如何提取HTML页面中<B></B>标签内的文本
Python提取HTML中标签文本的实现方案
推荐方案:使用BeautifulSoup解析(稳定性高,适配绝大多数爬虫场景)
这是爬虫处理HTML的通用方案,不会因为标签格式小变动(比如标签加属性、大小写变化)导致匹配失效。
- 先安装依赖库,执行命令:
pip install beautifulsoup4 - 对应实现代码:
from bs4 import BeautifulSoup # 待解析的HTML片段 html = '''<td><B>Kings Trailer</B></td>''' # 初始化HTML解析器 soup = BeautifulSoup(html, 'html.parser') # 提取B标签内的文本,HTML标签不区分大小写,直接传'b'即可自动匹配<B>标签 target_text = soup.find('b').get_text() print(target_text)
运行代码输出结果就是Kings Trailer,和预期结果一致。
- 补充:如果页面中存在多个标签,可以用
soup.find_all('b')获取所有B标签对象,遍历后逐个提取文本即可。
轻量方案:正则表达式匹配(仅适合结构完全固定的简单场景)
如果不想安装第三方库,且确认标签内部没有其他嵌套HTML标签,可以直接用正则快速提取:
import re html = '''<td><B>Kings Trailer</B></td>''' # 忽略大小写、非贪婪匹配B标签包裹的内容 match = re.search(r'<b>(.*?)</b>', html, re.I | re.S) if match: target_text = match.group(1) print(target_text)
注意:正则方案容错性差,如果B标签带属性(比如
<B style="color:red">)、标签内部有嵌套内容,很容易匹配失败,复杂HTML场景不建议使用。
内容的提问来源于stack exchange,提问作者Dzbb Simon
相关产品推荐
相关产品推荐

