一、引言
京東商品評(píng)論是用戶對(duì)商品的真實(shí)反饋,包含了大量有價(jià)值的信息,如產(chǎn)品質(zhì)量、使用體驗(yàn)、服務(wù)評(píng)價(jià)等。通過分析商品評(píng)論,可以幫助企業(yè)了解用戶需求、優(yōu)化產(chǎn)品,也可以為消費(fèi)者提供參考。由于京東沒有公開官方評(píng)論 API,我們需要通過逆向工程分析網(wǎng)頁請(qǐng)求來獲取這些數(shù)據(jù)。
二、接口概述
京東商品評(píng)論數(shù)據(jù)主要通過以下接口提供:
- 商品評(píng)論列表接口 請(qǐng)求方式: GET 主要參數(shù): productId: 商品 ID(SKU) score: 評(píng)分篩選(0 - 全部,1 - 差評(píng),2 - 中評(píng),3 - 好評(píng)) sortType: 排序方式(5 - 時(shí)間排序,6 - 推薦排序) page: 頁碼(從 0 開始) pageSize: 每頁數(shù)量(默認(rèn) 10,最大 100) isShadowSku: 是否為影子 SKU(0 - 否,1 - 是) rid: 曬單 ID(獲取特定曬單的評(píng)論時(shí)使用) fold: 是否折疊評(píng)論(1 - 折疊,0 - 不折疊)
- 接口返回格式 數(shù)據(jù)格式: JSON 主要字段: comments: 評(píng)論列表 maxPage: 最大頁數(shù) productCommentSummary: 評(píng)論摘要(好評(píng)率、差評(píng)率等) hotCommentTagStatistics: 熱門評(píng)論標(biāo)簽
三、Python 請(qǐng)求示例
下面是使用 Python 實(shí)現(xiàn)京東商品評(píng)論抓取的代碼示例:
python
import requests
import json
import time
import random
from fake_useragent import UserAgent
# 使用示例
# 假設(shè) API 封裝接口地址
API url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
if __name__ == "__main__":
spider = JDCommentSpider()
product_id = "100012084348" # iPhone 12 示例SKU
# 爬取第一頁評(píng)論
first_page_comments = spider.get_product_comments(product_id, page=0)
if first_page_comments:
print(f"第一頁評(píng)論數(shù)量: {len(first_page_comments.get('comments', []))}")
print(f"好評(píng)率: {first_page_comments.get('productCommentSummary', {}).get('goodRate')}")
# 爬取商品的前3頁評(píng)論
all_comments = spider.crawl_all_comments(product_id, max_pages=3)
print(f"總共爬取 {len(all_comments['comments'])} 條評(píng)論")
# 保存評(píng)論數(shù)據(jù)到JSON文件
with open(f"jd_comments_{product_id}.json", "w", encoding="utf-8") as f:
json.dump(all_comments, f, ensure_ascii=False, indent=2)
print("評(píng)論數(shù)據(jù)已保存到文件")
四、注意事項(xiàng)
- 數(shù)據(jù)解析注意點(diǎn) 評(píng)論內(nèi)容可能包含 HTML 標(biāo)簽,需要進(jìn)行清洗 某些字段(如顏色、尺寸)可能為空,需要處理空值 接口返回格式可能隨時(shí)變化,需要定期維護(hù)解析邏輯
- 進(jìn)階優(yōu)化 使用異步請(qǐng)求庫(如 aiohttp)提高爬取效率 添加數(shù)據(jù)存儲(chǔ)(如 MySQL、MongoDB 或 CSV) 實(shí)現(xiàn)增量爬取(只抓取新評(píng)論)
通過上述方法,你可以獲取京東商品的評(píng)論數(shù)據(jù)。實(shí)際應(yīng)用中,建議根據(jù)具體需求調(diào)整爬取策略,并添加更完善的異常處理和數(shù)據(jù)存儲(chǔ)邏輯。