「技术、数据、接口、系统问题欢迎沟通」
在电商运营、竞品分析、市场调研里,商品评论是最值钱的一手用户数据—— 能直接看出产品痛点、用户口碑、真实需求。但手动一条条复制,效率低到没法用,更满足不了批量、高频次采集的需求。
这篇文章不讲虚的,直接用 Python 带你写两套可直接运行的评论采集脚本,京东免登录、淘宝需抓包,兼顾实用性、合规性、稳定性,新手跟着复制就能跑通。
一、前期准备:环境 + 合规(必看)
1. 技术栈(简单好上手)
语言:Python 3.8+
网络请求:requests
数据解析:json
结果保存:pandas(直接导出 Excel)
反爬策略:请求头伪装、请求间隔、Cookie 登录
2. 安装依赖
打开终端运行一行命令即可:
bash
运行
pip install requests pandas
AI写代码
3. 合规提醒(非常重要)
只采集公开评论,不碰用户隐私;
控制请求频率,别把平台服务器打崩;
代码仅限学习使用,禁止用于商业侵权、恶意爬虫。
二、京东商品评论采集(最简单,免登录)
京东公开评论不需要登录,直接调用接口就能拿数据,最适合新手入门。
采集步骤
拿到商品 ID(链接里的数字)
构造评论接口
请求 → 解析 → 翻页 → 存 Excel
完整可运行代码
python
运行
import requests
import pandas as pd
import time
# 调用前可通过API测试控制台校验参数与返回格式
# 测试控制台:http://console.open.onebound.cn/console/?i=Rookie
# ===================== 你只需要改这里 =====================
goods_id = "100012345678" # 京东商品ID
total_page = 5 # 要爬几页
# =========================================================
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Referer": "https://item.jd.com/"
}
comment_list = []
def get_jd_comments(page):
url = f"https://club.jd.com/comment/productPageComments.action?productId={goods_id}&score=0&sortType=5&page={page}&pageSize=10"
try:
res = requests.get(url, headers=headers, timeout=10)
res.raise_for_status()
data = res.json()
comments = data.get("comments", [])
for item in comments:
comment_list.append({
"商品ID": goods_id,
"用户名": item.get("nickname", ""),
"评论内容": item.get("content", "").replace("\n", "").replace("\r", ""),
"评分": item.get("score", ""),
"评论时间": item.get("creationTime", ""),
"点赞数": item.get("usefulVoteCount", 0)
})
print(f"第{page}页采集完成,{len(comments)}条")
except Exception as e:
print(f"第{page}页失败:{e}")
if __name__ == "__main__":
print("开始采集京东商品评论…")
for page in range(1, total_page + 1):
get_jd_comments(page)
time.sleep(2) # 必须加延时
df = pd.DataFrame(comment_list)
df.to_excel(f"京东商品{goods_id}评论.xlsx", index=False)
print(f"采集完成!共 {len(comment_list)} 条,已保存Excel")
AI写代码
三、淘宝商品评论采集(需登录,抓包即可)
淘宝评论接口必须登录态才能访问,只需要一步:浏览器抓包拿到 Cookie,复制进去就能跑。
抓 Cookie 步骤(30 秒搞定)
Chrome 打开淘宝并登录
进入商品页 → F12 → Network
刷新 → 筛选 XHR → 找到 comment 开头的接口
复制请求头里的 Cookie 整段
完整可运行代码
python
运行
import requests
import pandas as pd
import time
# 调用前可通过API测试控制台校验参数与返回格式
# 测试控制台:http://console.open.onebound.cn/console/?i=Rookie
# ===================== 改这里就行 =====================
goods_id = "688123456789" # 淘宝商品ID
total_page = 5 # 爬取页数
cookie = "你的淘宝Cookie" # 粘贴你抓到的Cookie
# ======================================================
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Referer": "https://item.taobao.com/",
"Cookie": cookie
}
comment_list = []
def get_tb_comments(page):
url = f"https://rate.taobao.com/feedRateList.htm?auctionNumId={goods_id}¤tPageNum={page}&pageSize=20"
try:
res = requests.get(url, headers=headers, timeout=10)
text = res.text.strip().strip("()")
data = eval(text)
comments = data.get("comments", [])
for item in comments:
comment_list.append({
"商品ID": goods_id,
"用户名": item.get("user", {}).get("nick", ""),
"评论内容": item.get("content", "").replace("\n", "").replace("\r", ""),
"评分": item.get("score", ""),
"评论时间": item.get("date", ""),
"商品规格": item.get("auction", {}).get("sku", "")
})
print(f"第{page}页采集完成,{len(comments)}条")
except Exception as e:
print(f"第{page}页失败:{e}")
if __name__ == "__main__":
print("开始采集淘宝商品评论…")
for page in range(1, total_page + 1):
get_tb_comments(page)
time.sleep(3) # 淘宝反爬更严,延时更长
df = pd.DataFrame(comment_list)
df.to_excel(f"淘宝商品{goods_id}评论.xlsx", index=False)
print(f"采集完成!共 {len(comment_list)} 条,已保存Excel")
AI写代码
四、关键优化:让脚本更稳定(防封必备)
电商平台都有反爬,直接硬跑容易被限制,加这几招稳定性直接拉满:
请求延时京东 2 秒、淘宝 3 秒,别贪快。
随机 UA(推荐)
python
运行
from fake_useragent import UserAgent
ua = UserAgent()
headers["User-Agent"] = ua.random
AI写代码
IP 代理大批量采集必须用代理池。
异常重试网络波动不会直接中断,更健壮。
五、采集来的评论能用来干什么?
竞品分析:抓同款差评,优化自己产品
口碑监控:统计好评率、差评率
用户调研:提取关键词,看用户真正关心什么
运营优化:改主图、改详情、优化售后话术
这些数据,比你猜 100 次都管用。
六、最后总结
这篇文章直接给了你两套可直接运行的采集代码:
京东:免登录,新手秒上手
淘宝:抓 Cookie 即可跑
核心思路就是:调用官方接口 + 伪装请求头 + 控制频率 + 保存 Excel,比解析网页快 10 倍以上。
最后再提醒一次:技术是工具,用途看自己,请一定合规使用,尊重平台规则。