《PHP如何抓取淘寶產品的標題、SKU、價格、主圖》要點:
本文介紹了PHP如何抓取淘寶產品的標題、SKU、價格、主圖,希望對您有用。如果有疑問,可以聯系我們。
相關主題:PHP開發
抓取淘寶產品標題、SKU等等:
比如這個產品:
https://item.taobao.com/item.htm?id=565670676191
抓取接口:
http://hws.m.taobao.com/cache/wdetail/5.0/?id=565670676191
返回值:
在瀏覽器中查看即可。主要是返回產品標題、SKU、價格、主圖等等,但沒有產品詳情頁介紹。
詳情頁接口則是:
http://hws.m.taobao.com/cache/mtop.wdetail.getItemDescx/4.1/?&data={%22item_num_id%22:%22558561179254%22}&type=jsonp&callback=showTuwen&_=1523753975235
以下是調用接口的相關方法:
<?php
/**
* 實現傳入寶貝的id,返回寶貝的鏈接,支持淘寶
* @param $id 寶貝的id
* @return string 返回的寶貝的鏈接
*/
function getTbLink($id){
$url="https://item.taobao.com/item.htm?spm=a1z10.4-c.w5003-12641268955.30.0lDnKZ&id=".$id."&scene=taobao_shop";
return $url;
}
/**
* 實現傳入寶貝的id,獲取寶貝的商品名,支持淘寶和天貓
* @param $id 寶貝的id
* @return mixed 寶貝的商品名
*/
function getNameById($id){
$url="http://hws.m.taobao.com/cache/wdetail/5.0/?id=".$id;
$content=file_get_contents($url);
$content_ori=strip_tags($content);
$content_arr=json_decode($content_ori,true);
$detail=json_decode($content_arr['data']['apiStack']['0']['value'],true);
$success_sym=$detail['ret']['0'];//成功則返回"SUCCESS::調用成功";
if($success_sym=="SUCCESS::調用成功"){
$name=$content_arr['data']['itemInfoModel']['title'];
return $name;
}else{
return "<script type='text/javascript'>alert('寶貝不存在!');</script>";
}
}
/**
* 實現傳入寶貝id,獲取寶貝價格,支持淘寶和天貓
* @param $id 寶貝的id
* @return mixed 返回的寶貝的價格或價格區間
*/
function getPriceById($id){
$url="http://hws.m.taobao.com/cache/wdetail/5.0/?id=".$id;
$content=file_get_contents($url);
$content_ori=strip_tags($content);
$content_arr=json_decode($content_ori,true);
$pro_detail=json_decode($content_arr['data']['apiStack']['0']['value'],true);
$success_sym=$pro_detail['ret']['0'];//成功則返回"SUCCESS::調用成功";
if($success_sym=="SUCCESS::調用成功"){
$pro_price=$pro_detail['data']['itemInfoModel']['priceUnits']['0']['price'];
return $pro_price;
}else{
return "<script type='text/javascript'>alert('寶貝不存在!');</script>";
}
}
/**
* 實現傳入寶貝id,獲取寶貝的收藏人數(人氣),支持淘寶
* @param $id 寶貝id
* @return mixed 返回的寶貝的收藏人數(人氣)
*/
function getPopById($id){
$url=getTbLink($id);
$urlinfo = parse_url($url);
parse_str($urlinfo['query'], $query);
$id = $query['id'];
$data = file_get_contents($url);
$start = strpos($data, 'counterApi');
$start = strpos($data, ": ", $start);
$end = strpos($data, "',", $start);
$api = 'https:' . substr($data, $start + 3, $end - $start - 3) . '&callback=jsonp107';
$response = file_get_contents($api);
$response = substr($response, 9, -2);
$arr = json_decode($response, true);
$popularity=$arr['ICCP_1_'.$id];
return $popularity;
}
/** 實現傳入寶貝id,獲取寶貝圖片url
* @param $id 寶貝id
* @return mixd 寶貝圖片url
*/
function getPicById($id){
$url="http://hws.m.taobao.com/cache/wdetail/5.0/?id=".$id;
$content=file_get_contents($url);
$content_ori=strip_tags($content);
$content_arr=json_decode($content_ori,true);
$detail=json_decode($content_arr['data']['apiStack']['0']['value'],true);
$success_sym=$detail['ret']['0'];//成功則返回"SUCCESS::調用成功";
if($success_sym=="SUCCESS::調用成功"){
$name=$content_arr['data']['itemInfoModel']['picsPath'];
return $name;
}else{
return "<script type='text/javascript'>alert('寶貝不存在!');</script>";
}
}