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);
    */

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

  • 相关阅读:
    python基础学习24----使用pymysql连接mysql
    HTML基本标签
    python基础学习20----线程
    MySQL基础操作
    python永久添加第三方模块,PYTHONPATH的设置
    MySQL压缩包zip安装
    汇编语言debug命令与指令机器码
    python基础学习23----IO模型(简)
    python基础学习22----协程
    python基础学习21----进程
  • 原文地址:https://www.cnblogs.com/wangtongphp/p/3148007.html
Copyright © 2011-2022 走看看