开箱即用!商品评价爬虫实战,好评差评数据直接拿

开箱即用!商品评价爬虫实战,好评差评数据直接拿

目录

前言

一、核心思路与技术选型

1. 需求背景

2. 技术选型:Selenium

二、环境准备

1. 安装依赖库

2. 配置浏览器驱动

三、代码实现:爬取好评与差评

1. 完整代码(附详细注释)

2. 代码核心拆解

(1)好评爬取逻辑

(2)差评爬取逻辑

四、数据的后续应用

1. 词向量转换

2. 情感分类模型训练

五、注意事项

六、总结


前言

        在自然语言处理(NLP)领域,情感分析是极具实用价值的方向之一 —— 比如输入一段商品评价,自动判断其是好评还是差评。而情感分析的前提,是要有高质量的标注数据;本文将分享如何通过 Python+Selenium 爬取苏宁商品的好评与差评数据,为后续词向量转换、情感分类模型训练做好数据准备。

一、核心思路与技术选型

1. 需求背景

        要实现 “输入一段话判断好评 / 差评” 的功能,首先需要大量的好评、差评文本数据作为训练样本。本次目标是爬取苏宁商品评价页面的好评和差评内容,保存为文本文件,供后续词向量转换(如 Word2Vec、TF-IDF)和模型训练使用。

2. 技术选型:Selenium

        苏宁的评价页面采用动态加载机制,单纯的 requests 库难以处理翻页等交互操作;而 Selenium 可以模拟浏览器行为,完成页面加载、点击翻页等操作,适合这类动态页面的爬取。本次选用 Edge 浏览器(也可替换为 Chrome/Firefox)。

二、环境准备

1. 安装依赖库

        首先安装 Selenium 库,执行以下命令:

pip install selenium

2. 配置浏览器驱动

以我本地的edge浏览器为例:

  • 下载 Edge 驱动:需匹配本地 Edge 浏览器版本(下载地址);

找到你的浏览器的版本,然后下载对应版本的驱动,如果没有就找相近的安装。edge驱动

  • 驱动配置:可将驱动文件放到 python下的安装目录(如本文中"C:\Users\19414\AppData\Local\Programs\Python\Python39"),或配置系统环境变量。

下载完后解压,然后把msedgedriver.exe放到你的python安装路径下

三、代码实现:爬取好评与差评

1. 完整代码(附详细注释)

 """-------------------好评-----------------------""" from selenium import webdriver from selenium.webdriver.common.by import By import time from selenium.webdriver.edge.options import Options edg_options = Options() # 指定本地Edge浏览器安装路径(根据自己的路径修改) edg_options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" driver = webdriver.Edge(options=edg_options) #驱动好评的网址 driver.get('https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166') ##注意:添加 encoding='utf-8' 避免中文乱码 yp_file = open('优质评价.txt', 'w', encoding='utf-8') def get_py_content(file): pj_content = driver.find_elements(by=By.CLASS_NAME, value="body-content") for i in range(len(pj_content)): file.write(str(pj_content[i].text + '\n')) get_py_content(yp_file) next_elements = driver.find_elements(By.XPATH, "//*[contains(@class, 'next') and contains(@class, 'rv-maidian')]") while next_elements != []: next_element = next_elements[0] # 新增:判断按钮是否为禁用状态(next-disable) if "next-disable" in next_element.get_attribute("class"): print("已到最后一页,停止爬取") break # 如果未禁用,再执行点击 time.sleep(1) next_element.click() get_py_content(yp_file) # 重新查找下一页按钮 next_elements = driver.find_elements(By.XPATH, "//*[contains(@class, 'next') and contains(@class, 'rv-maidian')]") yp_file.close() driver.quit() '''--------------差评-------------------''' from selenium import webdriver from selenium.webdriver.common.by import By import time from selenium.webdriver.edge.options import Options edg_options = Options() edg_options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" driver = webdriver.Edge(options=edg_options) #驱动差评的网址 driver.get('https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-bad.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166') cp_file = open("差评.txt", "w", encoding='utf-8') def get_cp_content(file): cp_content = driver.find_elements(by=By.CLASS_NAME, value="body-content") for i in range(len(cp_content)): file.write(str(cp_content[i].text + '\n')) get_cp_content(cp_file) next_elements = driver.find_elements(By.XPATH, "//*[contains(@class, 'next') and contains(@class, 'rv-maidian')]") while next_elements != []: next_element = next_elements[0] if "next-disable" in next_element.get_attribute("class"): print("最后一页") break time.sleep(1) next_element.click() get_cp_content(cp_file) next_elements = driver.find_elements(By.XPATH, "//*[contains(@class, 'next') and contains(@class, 'rv-maidian')]") cp_file.close() driver.quit()

2. 代码核心拆解

(1)好评爬取逻辑
  • 浏览器初始化:通过Options指定 Edge 浏览器路径,初始化驱动对象;
  • 页面访问:使用driver.get()打开好评页面 URL;
  • 文件写入:打开优质评价.txt,指定encoding='utf-8'避免中文乱码;
  • 内容提取:定义get_py_content函数,通过class_name="body-content"定位评价内容并写入文件;
  • 翻页逻辑:通过 XPath 定位 “下一页” 按钮,判断是否包含next-disable类(禁用则为最后一页),若未禁用则点击翻页,重新提取内容,直到爬完所有页;
  • 资源释放:关闭文件和浏览器驱动。
(2)差评爬取逻辑

        差评部分的代码结构与好评完全一致,仅修改了 URL(-bad.htm)、保存文件名(差评.txt)和函数名(get_cp_content),通过同样的翻页逻辑完成差评数据的爬取。

四、数据的后续应用

        爬取的优质评价.txt差评.txt是情感分析的核心数据源,后续可做以下处理:

1. 词向量转换

将文本数据转换为计算机可识别的向量形式:

  • 传统方法:TF-IDF、Bag of Words(词袋模型);
  • 深度学习方法:Word2Vec、BERT 预训练模型。

2. 情感分类模型训练

        以 “好评 = 1,差评 = 0” 为标签,将词向量输入分类模型(如逻辑回归、SVM、LSTM),训练后即可实现 “输入一段话判断好评 / 差评” 的功能。

五、注意事项

  1. 反爬合规:爬取数据时需遵守苏宁的robots.txt协议,控制爬取速度(避免短时间高频请求),仅用于学习研究,禁止商用;
  2. 元素定位适配:若苏宁页面结构更新(如class名称变化),需重新定位评价节点和翻页按钮;
  3. 驱动版本匹配:Edge 驱动版本需与本地浏览器版本一致,否则会导致驱动初始化失败;
  4. 异常处理:实际应用中可添加try-except捕获页面加载超时、元素定位失败等异常,提升代码鲁棒性。

六、总结

        本文通过 Python+Selenium 实现了苏宁商品好评 / 差评的爬取,核心是利用 Selenium 处理动态页面的翻页交互,通过定位body-content类提取评价文本,结合next-disable类判断翻页终点。爬取的文本数据是情感分析的基础,后续结合词向量转换和分类模型,即可完成 “文本情感判断” 的核心需求。

        对于 NLP 初学者而言,数据爬取是情感分析的第一步,掌握这类实战场景的爬虫技巧,能为后续的模型训练和应用落地打下坚实基础。

Read more

鸿蒙常见问题分析三:视频关键帧提取与智能体图像分析

鸿蒙常见问题分析三:视频关键帧提取与智能体图像分析

引言:视频封面生成的技术挑战 在HarmonyOS应用开发中,视频内容处理是一个常见但充满挑战的领域。特别是当需要从视频中自动提取最佳封面时,开发者常常面临以下痛点: 1. 性能瓶颈:长视频全帧分析计算成本高 2. 准确性不足:均匀抽帧容易错过关键画面 3. 智能化缺失:传统算法难以理解画面内容价值 4. 用户体验差:手动选择封面增加用户操作成本 本文将从实际开发角度,深入分析HarmonyOS视频关键帧提取与智能体图像分析的常见问题及解决方案。 常见问题一:HarmonyOS中如何高效提取视频帧? 问题描述 开发者在使用AVImageGenerator提取视频帧时,常遇到性能问题:提取速度慢、内存占用高、处理长视频时应用卡顿。 解决方案分析 1. 正确的AVImageGenerator使用方式 // 错误示例:频繁创建和销毁实例 async extractMultipleFramesWrong(timestamps: number[]) { const frames = []; for (const timestamp of timestamps) { /

By Ne0inhk

老macos安装openclaw固定brew版本

有台老旧的macbook air,想拿着来试试openclaw(clawbot),结果很多skill都安装不上,看了报错是brew不支持老版本了. Warning: You are using macOS 12. We (and Apple) do not provide support for this old version brew比macport还是好用很多 根据说明是因为他们基础架构容量有限,因此他们只在最新的3个macOS版本上进行构建。 有的老机型已经不能往上升级操作系统版本,这时就需要降级homebrew版本冻结在当前系统能用的版本。以下以macOS12版本为例: 1去github仓库找支持系统的git 版本号,https://github.com/Homebrew/homebrew-core/commit/46f4b41,可以看到是从这个分支开始去除了macOS12 Monterey的,那么我们就固定在上个提交da66cc3 # homebrew/corecd $(brew --repository)/Library/Taps/homebrew/h

By Ne0inhk
VMware 虚拟机安装 macOS(黑苹果)详细教程:仅限学习与测试用途

VMware 虚拟机安装 macOS(黑苹果)详细教程:仅限学习与测试用途

VMware 虚拟机安装 macOS(黑苹果)详细教程:仅限学习与测试用途 * 提醒 * 一、必备条件与准备 * 二、详细安装步骤 * 步骤1:安装并解锁VMware * 步骤2:创建新的虚拟机 * 步骤3:配置虚拟机硬件 * 步骤4:修改虚拟机配置文件(.vmx) * 步骤5:安装macOS * 三、安装后优化(可选但推荐) * 四、重要提醒与替代方案 提醒 在VMware中安装macOS(通常所说的“黑苹果”虚拟机)是可行的,但必须明确一个前提:根据苹果的软件许可协议,macOS仅允许在苹果品牌的硬件上运行。在非苹果电脑(包括VMware虚拟机)上安装属于违反协议的行为,且过程复杂,仅建议用于学习、测试目的,不推荐用于生产环境或日常主力使用。 以下是在VMware Workstation Pro(以Windows宿主为例)上安装macOS的详细步骤、必备条件和合法替代方案。 一、

By Ne0inhk
一文搞定 OpenClaw 部署:Windows / Ubuntu / macOS 全平台超详细教程

一文搞定 OpenClaw 部署:Windows / Ubuntu / macOS 全平台超详细教程

一、OpenClaw 简介 OpenClaw 是一个用于统一管理和控制多渠道 AI 助手会话的开源平台,可以在本地机器、服务器、NAS、云主机上运行。 它的核心特点包括: 通过一个 Gateway 统一管理多个对话会话(webchat、Telegram、Discord、WhatsApp 等) 支持“技能(AgentSkills)”扩展能力,可以把各种自动化脚本封装成可复用工具 强调本地可控、安全、可定制,适合开发者和对隐私有要求的用户 本文将详细介绍如何在 Windows、Ubuntu(Linux)、macOS 三个平台上部署 OpenClaw,并在最后整理常见问题及排查思路。 二、通用前置条件 无论在哪个平台部署 OpenClaw,基本前置条件是类似的: Node.js 环境(建议 20+ 或官方推荐版本) 能访问 GitHub/

By Ne0inhk