You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Beautiful Soup提取网页中Pros板块内容并保存到文件

提取Capterra评论中的Pros板块内容

你需要调整代码定位评论里的**Pros:**板块,而非提取所有<p>标签文本。Capterra的评论结构中,Pros内容可通过匹配固定文本或定位专属容器来精准提取,以下是修改后的实现:

import requests
from bs4 import BeautifulSoup

# 模拟浏览器请求头,规避网站反爬拦截
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

# 请求目标页面并检查请求状态
res = requests.get('https://www.capterra.ca/reviews/203084/voip-ms', headers=headers)
res.raise_for_status()

parseSoup = BeautifulSoup(res.text, 'html.parser')

# 定位所有包含"Pros:"文本的段落
pros_sections = parseSoup.find_all(lambda tag: tag.name == 'p' and 'Pros:' in tag.get_text())

# 提取内容并写入文件
with open("pros.txt", 'w', encoding='utf-8') as file:
    for section in pros_sections:
        # 截取"Pros:"之后的内容,清理多余空格
        pros_content = section.get_text().split('Pros:', 1)[1].strip()
        file.write(f"{pros_content}\n\n")  # 每个Pros内容间空行分隔

关键说明:

  • 请求头设置:添加User-Agent模拟真实浏览器访问,避免被网站反爬机制拦截。
  • 精准定位:通过lambda表达式筛选包含"Pros:"的<p>标签,确保只获取目标板块内容。
  • 文本处理:用split('Pros:', 1)分割文本,只保留标签内"Pros:"之后的有效内容,同时去除首尾空格优化格式。
  • 编码保障:写入文件时指定utf-8编码,避免特殊字符或中文出现乱码。

如果后续网站结构更新,可通过浏览器开发者工具(F12)查看Pros板块的最新HTML结构,调整定位规则(比如改用类名查找:parseSoup.find_all('div', class_='review-pros'))。

内容的提问来源于stack exchange,提问作者ash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 08:25:12