主流電商平臺商品詳情頁面解析示例
一、淘寶商品詳情頁解析
頁面結(jié)構(gòu)特點:
- 動態(tài)渲染:部分?jǐn)?shù)據(jù)(如SKU信息)通過JavaScript異步加載。
- 防爬機制:頻繁請求可能觸發(fā)驗證碼。
- 數(shù)據(jù)加密:價格信息可能使用字體加密技術(shù)。
核心字段解析:
- 商品標(biāo)題: css 體驗AI代碼助手 代碼解讀復(fù)制代碼python title = soup.select_one('h1[data-spm="1000983"]').text.strip()
- 價格信息(需處理加密字體): python 體驗AI代碼助手 代碼解讀復(fù)制代碼python price_text = soup.select_one('.tm-price').text price = re.search(r'\d+.\d+', price_text).group(0)
- SKU信息(動態(tài)加載,需分析AJAX請求): python 體驗AI代碼助手 代碼解讀復(fù)制代碼python sku_script = soup.find('script', string=re.compile('skuMap')) if sku_script: sku_data = re.search(r'skuMap\s*:\s*({.*?})', sku_script.string) if sku_data: sku_json = json.loads(sku_data.group(1)) # 解析SKU數(shù)據(jù)...
- 店鋪信息: ini 體驗AI代碼助手 代碼解讀復(fù)制代碼python shop_name = soup.select_one('.slogo-shopname').text.strip()
二、京東商品詳情頁解析
頁面結(jié)構(gòu)特點:
- API接口清晰:大部分?jǐn)?shù)據(jù)通過JSON接口返回。
- 價格保護:價格信息可能需要登錄才能獲取。
- 動態(tài)評論:評論數(shù)據(jù)通過分頁API加載。
核心字段解析:
- 商品標(biāo)題: ini 體驗AI代碼助手 代碼解讀復(fù)制代碼python title = soup.select_one('.sku-name').text.strip()
- 價格信息(通過獨立API獲?。?ini 體驗AI代碼助手 代碼解讀復(fù)制代碼python price_url = f"https://p.3.cn/prices/mgets?skuIds=J_{item_id}" price_data = requests.get(price_url, headers=headers).json() price = float(price_data[0]['p'])
- SKU信息: ini 體驗AI代碼助手 代碼解讀復(fù)制代碼python sku_url = f"https://item-soa.jd.com/getWareBusiness?skuId={item_id}" sku_data = requests.get(sku_url, headers=headers).json() # 解析SKU數(shù)據(jù)...
三、拼多多商品詳情頁解析
頁面結(jié)構(gòu)特點:
- 移動端優(yōu)先:PC端頁面簡化,數(shù)據(jù)主要來自移動端API。
- 加密請求:請求參數(shù)和響應(yīng)數(shù)據(jù)可能經(jīng)過加密。
- 反爬嚴(yán)格:頻繁請求會觸發(fā)滑塊驗證。
核心字段解析(示例代碼片段):
python
# 拼多多移動端API示例(實際需分析最新接口)
url = "https://apiv3.pinduoduo.com/api/item/get"
params = {
'item_id': item_id,
'pdduid': int(time.time() * 1000), # 模擬用戶ID
'_': int(time.time() * 1000), # 時間戳
'random': random.random() # 隨機數(shù)
}
headers = {
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit',
'Referer': f'https://mobile.yangkeduo.com/goods.html?goods_id={item_id}',
# 其他必要請求頭...
}
response = requests.get(url, params=params, headers=headers)
data = response.json()
# 解析商品信息...
四、1688商品詳情頁解析
頁面結(jié)構(gòu)特點:
- 工廠實力展示:開頭展示工廠資質(zhì)、合作品牌等。
- 高清細節(jié)圖:大尺寸、高清的產(chǎn)品細節(jié)圖片。
- API支持:提供商品詳情API接口,可獲取結(jié)構(gòu)化數(shù)據(jù)。
核心字段解析(使用1688 API示例):
python
api_base_url = "https://api.1688.com"
product_id = "商品ID"
headers = {
"App-Key": "你的App Key",
"App-Secret": "你的App Secret"
}
params = {
"product_id": product_id
}
response = requests.get(api_base_url + "/path/to/product/detail", headers=headers, params=params)
if response.status_code == 200:
data = response.json()
# 解析商品信息...
else:
print("請求失敗")
五、唯品會商品詳情頁解析
頁面結(jié)構(gòu)特點:
- 簡潔布局:聚焦促銷信息和立即購買按鈕。
- 品牌導(dǎo)向:強調(diào)品牌故事和正品保障。
核心字段解析(示例邏輯):
- 商品標(biāo)題:直接從頁面標(biāo)題或商品名稱標(biāo)簽提取。
- 價格信息:解析頁面中的促銷標(biāo)簽或獨立價格模塊。
- 品牌故事:從模塊化內(nèi)容中提取品牌背景或合作案例。
總結(jié)與注意事項
- 動態(tài)內(nèi)容處理:淘寶、拼多多等平臺需處理動態(tài)加載內(nèi)容,可能需要分析AJAX請求或使用模擬瀏覽器工具。
- 反爬機制應(yīng)對:合理設(shè)置請求頭、使用代理IP、控制請求頻率。
- API優(yōu)先:京東、1688等平臺提供API接口,優(yōu)先使用以獲取結(jié)構(gòu)化數(shù)據(jù)。
- 數(shù)據(jù)合規(guī)性:遵守各平臺《robots.txt》協(xié)議及相關(guān)法律法規(guī),避免非法爬取。