• 采集天猫搜索页商品的商品ID和商品店铺名称,正则表达式的写法


    用正则匹配采集天猫搜索页的商品ID和商品的店铺名称;

    正则匹配的贪婪问题

    之前我一直想解决如何实现.[^(</a>)]*这个问题;搞了好久才发现用非贪婪模式可以解决这个问题;即 .*?</a> 这样写即可;

    <?PHP
    //add by wangtongphp QQ:1006440989
    function infinityCollect($url)
        {
            $v = @file_get_contents($url);
            preg_match_all("/data-id="(d{1,})/",$v,$ids);
            preg_match_all("/<a class="productShop-name".[^>]*>([sS]*?)</a>/",$v,$nicks);
            preg_match_all("/data-id="(d{1,})[sS]*?productShop-name".[^>]*>([sS]*?)</a>/",$v,$out);
            var_dump($out[1]);
            var_dump($out[2]);
            if(count($ids[1]) != count($nicks[1])){
                echo count($ids[1]);
                var_dump($ids[1]);
                echo count($nicks[1]);
                var_dump($nicks);
                echo 'error';exit;
            }
            $result = array('status'=>0,'count'=>0,'max_page'=>0);
            if(!empty($ids[1]))
            {
                foreach($ids[1] as $k=>$goods_id){
                    $goods['goods_id'] = $goods_id;
                    $nick = trim($nicks[1][$k]);
                    $nick = str_replace('<span class=H>','',$nick);
                    $nick = str_replace('</span>','',$nick);
                    $goods['nick'] = $nick;
                    
                var_dump($goods);
                }
            }
            return $result;
        } 
    
    
    infinityCollect('http://list.tmall.com//search_product.htm?q=Joy%A1%AEs&type=p&style=&cat=all');
    
    /*
    $v = @file_get_contents("http://list.tmall.com//search_product.htm?q=Joy%A1%AEs&type=p&style=&cat=all");
    preg_match_all("/<a class="productShop-name".[^>]*>(.[^<]*)</a>/",$v,$nicks);
    var_dump($nicks);
    */

    以上源码可以直接放在文件里面运行;是多种匹配天猫商品搜索页的正则表达式写法

  • 相关阅读:
    【读书笔记】iOS-照相机与摄像头
    【读书笔记】iOS-加速计与陀螺仪
    【读书笔记】iOS-手势识别
    【读书笔记】iOS-移动开发
    【读书笔记】iOS-配件
    iOS开发UI篇—核心动画(转场动画和组动画)
    iOS开发UI篇—核心动画(关键帧动画)
    iOS开发UI篇—核心动画(基础动画)
    iOS开发UI篇—核心动画简介
    iOS开发UI篇—CAlayer(自定义layer)
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3148007.html
Copyright © 2020-2023  润新知