• 采集天猫搜索页商品的商品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);
    */

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

  • 相关阅读:
    20159302 《网络攻击与防范》第三周学习总结
    Json序列化空时间字段出异常
    IIS 原理
    谴责盛大Bambook 的ADB.EXE流氓进程
    Fix: ADB server didn’t ACK
    在线UI设计
    解决装Windows蓝屏问题。
    如何成为一个C++高级程序员
    Python编程规范及性能优化
    iDempiere 使用指南 插件安装过程
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3148007.html
Copyright © 2020-2023  润新知