久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

php curl 通過淘寶鏈接抓取商品評論

 quasiceo 2015-03-09

php curl 通過淘寶鏈接抓取商品評論

更多 0
需求:通過淘寶或天貓商品鏈接,,獲取商品的評論,。 有疑問請直接留言。 詳細(xì)代碼見:https://github.com/wangyupeng/code/blob/master/get_comment_list.php
header("Content-type: text/html; charset=utf-8");
function get_taobao_item_id($url){
    // 解析url
    $urls=parse_url( $url );
    // 提取url,,得到商品id
    // 一淘商品
    if ((strpos(@$urls['host'], 'etao.com') > 0) && (strpos(@$urls['host'], 'detail.etao.com')==0)) {
        $url_array = explode('.',$urls['path']);
        $id = ltrim($url_array[0],'/');
    // 淘寶商品
    } else if ((strpos(@$urls['host'], 'taobao.com') > 0) && (strpos(@$urls['host'], 'item.taobao.com')==0)) {
        parse_str($urls['query'],$url_array);
        $id = @$url_array['id'] ? $url_array['id'] : "" ;
    // 天貓商品
    } else if ((strpos(@$urls['host'], 'tmall.com') > 0 ) && (strpos(@$urls['host'], 'detail.tmall.com')==0)) {
        parse_str($urls['query'],$url_array);
        $id = @$url_array['id'] ? $url_array['id'] : "" ;
    // 非法商品
    }else{
        return false;
    }
    return $id;
}
/**
 * 下載淘寶頁面
 * @param url $url
 * @return string
 */
function download_page($url) {
    // 創(chuàng)建一個新cURL資源
    $ch = curl_init();
    // 設(shè)置URL和相應(yīng)的選項
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.taobao.com/");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 抓取URL并把它傳遞給瀏覽器
    $output = curl_exec($ch);
    // 關(guān)閉cURL資源,,并且釋放系統(tǒng)資源
    curl_close($ch);
    return $output;
}
/**
 * 獲取淘寶評論URL
 * @param unknown $id
 * @return string
 */
function get_taobao_comment_url($id){
    $pages = download_page('http://item.taobao.com/item.htm?id='.$id);
    preg_match_all('/data-listApi="(.*)"/Usi', $pages, $commont);//評論列表地址
    $comment_list_url = $commont[1][0].'&currentPageNum=1&rateType=&orderType=sort_weight&showContent=1&attribute=&callback=?';
    return $comment_list_url;
}
/**
 * 獲取天貓評論URL
 * @param unknown $id
 * @return string
 */
function get_tmall_comment_url($id){
    $comment_list_url = 'http://rate.tmall.com/list_detail_rate.htm?itemId='.$id.'&spuId=&currentPage=1&sellerId=&order=0&forShop=1&callback=?';
    return $comment_list_url;
}
/**
 * 根據(jù)商品URL獲取評論
 * @param string $url 淘寶或天貓商品鏈接地址
 * @param int $maxPage 采集最大頁數(shù),,設(shè)置為NULL則獲取全部評論
 * @return multitype:multitype:NULL unknown  multitype:unknown
 */
function get_comment_list($url, $maxPage=5) {
    // 數(shù)據(jù)集
    $data = array();
    // 評論總頁數(shù),,初始共一頁,,程序自動獲取
    $lastPage = 1;
    if (strpos($url, 'tmall.com') === false) {
        // 淘寶
        $id = get_taobao_item_id($url);
        $url = get_taobao_comment_url($id);
        for ($i=1; $i<=$lastPage; $i++) {
            $url = preg_replace('/PageNum=(\d+)&/','PageNum='.$i.'&', $url);
            //抓取評論
            $product_comment_list = download_page($url);
            $product_comment_list = iconv('gbk','utf-8//IGNORE', $product_comment_list);
            preg_match('#\((.*?)\)#U', $product_comment_list, $comment_list_matchs);
            $content = json_decode($comment_list_matchs[1], true);
            $lastPage = $content['maxPage'];
            // 重組數(shù)據(jù)
            foreach ($content['comments'] as $item) {
                $rate = array();
                $rate['username'] = $item['user']['nick'];
                $rate['content'] = $item['content'];
                $rate['sku'] = $item['auction']['sku'];
                $rate['datetime'] = $item['date'];
                $data[] = $rate;
            }
            // 超出指定頁,退出,。防止獲取全部評論
            if ($maxPage && ($i >= $maxPage)) {
                break;
            }
        }
    } else {
        // 天貓
        $id = get_taobao_item_id($url);
        $url = get_tmall_comment_url($id);
        for ($i=1; $i<=$lastPage; $i++) {
            $url = preg_replace('/currentPage=(\d+)&/','currentPage='.$i.'&', $url);
            //抓取評論
            $product_comment_list = download_page($url);
            $product_comment_list = iconv('gbk','utf-8//IGNORE', $product_comment_list);
            preg_match('#\((.*?)\)#U', $product_comment_list, $comment_list_matchs);
            $content = json_decode($comment_list_matchs[1], true);
            $content = $content['rateDetail'];
            $lastPage = $content['paginator']['lastPage'];
            foreach ($content['rateList'] as $item) {
                $rate = array();
                $rate['username'] = $item['displayUserNick'];
                $rate['content'] = $item['rateContent'];
                $rate['sku'] = $item['auctionSku'];
                $rate['datetime'] = $item['rateDate'];
                $data[] = $rate;
            }
            // 超出指定頁,,退出。防止獲取全部評論
            if ($maxPage && ($i >= $maxPage)) {
                break;
            }
        }
    }
    return $data;
}
// 獲取淘寶評論測試
$url = 'http://item.taobao.com/item.htm?id=14150972514';
$data = get_comment_list($url);
var_dump($data);
// 獲取天貓評論測試
$url = 'http://detail.tmall.com/item.htm?id=39969082707';
$data = get_comment_list($url);
var_dump($data);
原文地址:php curl 通過淘寶鏈接抓取商品評論, 感謝原作者分享,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多