zoukankan      html  css  js  c++  java
  • 采集文章

     1 <?php
     2     //1.告诉采集页面的地址
     3     $url = 'http://www.cmstop.com/news/1.shtml';
     4     //2.读取采集页面地址
     5     $str = file_get_contents($url);
     6     //echo $str;
     7     //3.定义采集文章链接区域的正则
     8     $pattern_qu = '/<uls+class="txt-list-as+lh-56s+cor-333s+fz-18">(.*?)<divs+class="page-boxs+clears+ovs+page"/Ss';
     9     //4.进行正则匹配 将文章区域的链接匹配到
    10     preg_match($pattern_qu,$str,$match_url);
    11     //var_dump($match_url);
    12     //5.定义匹配文章链接的正则
    13     $pattern_url = '/<as+href="(.*?)"s+title/S';
    14     //6.匹配文章的链接地址
    15     preg_match_all($pattern_url,$match_url[1],$match);
    16     //var_dump($match);
    17     $num = 1;
    18     //7.遍历匹配到的所有文章内容地址
    19     foreach($match[1] as $k=>$v){
    20         //echo $v.'<br/>';
    21         //7.1循环打开文章内容地址
    22         $content = file_get_contents($v);
    23         //7.2定义匹配文章内容的正则
    24         $con_pattern = '/<divs+class="ad"></div>(.*?)<spans+id="supports"s+class="praise"/Ss';
    25         //7.3定义匹配文章标题的正则
    26         $title_pattern = '/<title>(.*?)</title>/Ss';
    27         //7.4进行文章内容的匹配
    28          preg_match($con_pattern,$content,$newCon);
    29         //var_dump($newCon);exit;
    30         //7.5进行文章标题的匹配
    31         preg_match($title_pattern,$content,$newTitle);
    32         //var_dump($newTitle);
    33         //7.6组成字符串
    34         $newStr = $newTitle[0].'<meta charset="utf-8" />'.$newCon[1];
    35         //7.7写入到指定文件中保存
    36         file_put_contents('./collect/'.$num.'.html',$newStr);
    37         $num ++;
    38     }
  • 相关阅读:
    Java编程思想学习(三)----第三章:操作符
    mybatis入门
    responsebody和requestbody的使用
    一个Interface 继承多个Interface 的总结
    requirejs中Shims使用说明
    java 中解析json步骤
    @transient加在属性前的作用
    实现serializable接口的作用
    springmvc源码解析-初始化
    @RequestMapping注解详解
  • 原文地址:https://www.cnblogs.com/wutianfei/p/9024427.html
Copyright © 2011-2022 走看看