首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 爬取天貓/淘寶商品評論與買家秀圖片實戰:從抓包到正則解析

     編輯:PHP 綜合知識

淘寶/天貓商品評論透過 Ajax 動態載入,介面無法直接查看原始碼。本文分享如何透過抓包分析介面參數,結合 PHP cURL 與正則表達式,批量抓取指定商品的評論內容與買家秀圊片,並補充商品搜尋列表抓取範例。

介面分析

經抓包發現評論資料來源為:

https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=1&callback=jsonp2339

關鍵參數說明:

  • itemId:商品 ID(必填)
  • currentPage:分頁頁碼
  • picture=1:僅回傳含圖片的評論(買家秀必開)
  • callback:JSONP 回呼函數名

資料格式與解析策略

回應為 JSONP 格式(jsonp2339({...})),若直接 json_decode 會因前綴失敗。本文採用正則直接從原始回應擷取所需欄位,避開 JSONP 解析麻煩:

$pattern = '/"pics"(.+?)","reply"/is';  // 擷取單則評論區塊(含圖片與內容)
$pattern2 = '/"rateContent":"(.+?)","reply"/is';  // 評論文字
$pattern3 = '/img\.alicdn(.+?)\.jpg/is';  // 圖片網址(相對路徑)

完整抓取程式碼

$url = "https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=1&callback=jsonp2339";

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_FOLLOWLOCATION => true,
]);
$response = curl_exec($ch);
curl_close($ch);

preg_match_all($pattern, $response, $matches);
foreach ($matches[0] as $item) {
    preg_match($pattern2, $item, $contentMatch);
    $comment = str_replace(['"rateContent":"', '","reply"'], '', $contentMatch[0]);
    echo "

$comment

"; preg_match($pattern3, $item, $imgMatch); if ($imgMatch) { echo ''; } }

補充:商品搜尋列表抓取

使用 Snoopy 類別模擬瀏覽器請求搜尋頁,再以正則擷取標題:

require "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetch("https://s.taobao.com/search?q=關鍵字&style=list");
preg_match_all('/

.*<\/a>/', $snoopy->results, $result); var_dump($result);

風險提示與合規建議

  1. 反爬蟲機制:淘系介面頻率限制極嚴,需配合 IP 代理池、Cookie 池、請求間隔隨機化。
  2. 法律風險:大規模爬取可能違反《計算機信息網絡國際聯網安全保護管理辦法》及平台服務條款,建議僅供學習研究,商業用途請申請官方開放平台 API。
  3. 資料穩定性:前端結構常變動,正則極易失效,生產環境建議改用官方 API 或結構化資料(如 Schema.org Microdata)。

總結

透過抓包分析介面參數、cURL 獲取原始回應、正則精準提取關鍵欄位,即可完成評論與圖片的自動化抓取。實務上務必評估法律與技術風險,優先採用官方授權管道獲取資料。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved