zoukankan      html  css  js  c++  java
  • 采集天猫搜索页商品的商品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);
    */

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

  • 相关阅读:
    SQL操作全集 sql精典收藏
    sql中全角字符与半角字符检验问题
    asp.net目录权限设置图文综合[转]
    XPath 语法
    XPath学习
    接口使用例子,阐述接口的优点、作用
    sql查询出表中所有列名 判断两个表中的列是否相同
    指定键让指定的按钮提交
    C#.Net网络程序开发Socket篇
    ASP.NET中异常处理使用
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3148007.html
Copyright © 2011-2022 走看看