• 文章采集代码


    <?php
        //1.告诉采集页面的地址
        $url = 'http://www.zgjiemeng.com/dongwu/';
        //2.读取采集页面地址
        $str = file_get_contents($url);
       // echo $str;
       
    echo     '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
        //3.定义采集文章链接区域的正则
        $pattern_qu = '/<ul class="list2 clearfix">([Ss]*?)</ul>/';
    
    
        //4.进行正则匹配 将文章区域的链接匹配到
        preg_match($pattern_qu,$str,$match_url);
       // var_dump($match_url[1]);
        
        
        preg_match_all ("/<li>(.*)</li>/U", $match_url[1], $pat_array);
    print_r( $pat_array[0][1]); 
        
        
        preg_match_all ("/<li><a target="_blank" title="(.*)" href="(.*)">(.*)</a></li>/U", $pat_array[0][1], $pat_array);
    print_r($pat_array); 
        //preg_match_all("/(<([w]+)[^>]*>)(.*?)(</\2>)/", $match_url[1], $matches, PREG_SET_ORDER);
    //print_r($matches );
    
    die;
        
        
        preg_match($pattern_qu,$match_url[1],$match_url);
        
        var_dump($match_url);
        
        die;
        
        
     
        //5.定义匹配文章链接的正则
        $pattern_url = '/<as+href="(.*?)"s+title/S';
        //6.匹配文章的链接地址
        preg_match_all($pattern_url,$match_url[1],$match);
        var_dump($match);
        
        die;
        $num = 1;
        //7.遍历匹配到的所有文章内容地址
        foreach($match[1] as $k=>$v){
            //echo $v.'<br/>';
            //7.1循环打开文章内容地址
            $content = file_get_contents($v);
            //7.2定义匹配文章内容的正则
            $con_pattern = '/<divs+class="ad"></div>(.*?)<spans+id="supports"s+class="praise"/Ss';
            //7.3定义匹配文章标题的正则
            $title_pattern = '/<title>(.*?)</title>/Ss';
            //7.4进行文章内容的匹配
             preg_match($con_pattern,$content,$newCon);
            //var_dump($newCon);exit;
            //7.5进行文章标题的匹配
            preg_match($title_pattern,$content,$newTitle);
            //var_dump($newTitle);
            //7.6组成字符串
            $newStr = $newTitle[0].'<meta charset="utf-8" />'.$newCon[1];
            //7.7写入到指定文件中保存
            file_put_contents('./collect/'.$num.'.html',$newStr);
            $num ++;
        }
  • 相关阅读:
    Smartforms 设置纸张打印格式
    JVM的垃圾回收算法
    JVM垃圾回收器
    Java类加载过程
    Java内存模型
    计算机模型
    C#----对时间结构DateTime的使用(时间日期的使用)
    C#----我对坐标系的理解和图形转动
    C#----格式化字符串的操作
    其他----
  • 原文地址:https://www.cnblogs.com/jthb/p/12154389.html
Copyright © 2020-2023  润新知