• 通过curl和正则获取页面数据


     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: 意灵魔法馆
     5  * Date: 2016/5/25 0025
     6  * Time: 上午 1:22
     7  */
     8 
     9 namespace backcontroller;
    10 
    11 //导入类
    12 use framewrokcoreController;
    13 use framewrok	oolRequestClient;
    14 use framewrokcoreFactory;
    15 
    16 class QuestionController extends Controller
    17 {
    18     public function zhihuAction()
    19     {
    20         //实例化请求类
    21         $t_client = new RequestClient();
    22         //url地址
    23         $url = 'www.myweb.com/zhihu/zhihu.html';
    24         $t_client->url = $url;
    25         //通过调用get方法得到结果
    26         $response = $t_client->get();
    27 
    28         //通过正则处理将需要的数据获取到
    29         $pattern = <<<RE
    30 #<a[^>]*?class="js-title-link"[^>]*?>(.*?)</a>.*?<script type="text" class="content">(.*?)</script>#s
    31 RE;
    32         //匹配
    33         preg_match_all($pattern, $response, $value_list);
    34         //第一子模式就是全部的问题
    35         $question_list = $value_list[1];
    36 //        echo'<pre>';
    37 //        var_dump($question_list);
    38         //第二个子模式就是全部的回答
    39         $anwser_list = $value_list[2];
    40 
    41         //将内容添加到数据表中
    42         $question_model = Factory::getModel('question');
    43         $anwser_model = Factory::getModel('anwser');
    44         $counter = 0;
    45         //每一问题都对应多个回答
    46         foreach ($question_list as $key => $question) {
    47 
    48             $question_data['question_content'] =str_replace(['<em>','</em>'],'',$question);
    49             $question_data['category_id'] = 1;
    50             $question_data['add_time'] = time();
    51             //计数器方便知道自己添加的
    52             if (false !== $question_id = $question_model->insertValue($question_data)) {
    53                 //问题插入成功
    54                 $anwser_data['question_id'] = $question_id;
    55                 $anwser_data['anwser_content'] = $anwser_list[$key];
    56                 $anwser_data['add_time'] = time();
    57 
    58                 //将答案放入数据库中
    59                 $anwser_model->insertValue($anwser_data);
    60 
    61                 ++$counter;
    62             }
    63         }
    64         $this->jumpWait('index.php?m=back&c=Category&a=list', '创建了' . $counter . '条数据');
    65 
    66 
    67     }
    68 
    69 }
    一萧一剑走江湖,一笑一乐看世界,一切美好的事物我们都需要去用心感受,聆听自然给予我们的欢乐. 小时候觉得长大了多好,可以到外面的世界看一看,可长大了,却向往童年般的生活,没有烦恼,该哭的时候哭,该笑的时候笑,想做什么都可以.即便我们长大了更应该热爱生活懂得爱自己,不要抱怨生活对你的不公,开心的活着比什么都好。 所以在这个有限的时间里,我们需要快乐高兴的活着,活出属于自己的青春.忘记那些不痛快的事情.我们需要梦想来使得我们的人生更有意义. 今天就分享到这里吧,大家可以叫我一萧,可能在以后的日子里,我分享的不仅仅是代码上的事情,因为能让我们感到快乐和高兴并且获得收获的不仅仅是技术层面上的,应该有很多很多
  • 相关阅读:
    基础
    条件语句/变量和基本数据类型
    编程语言介绍
    asp.net中log4net使用方法
    web布到服务器上出错
    《转》IEnumerable、IEnumerator两个接口的认识
    异步ADO.NET
    Session的使用
    AJAX参数及各种HTTP状态值
    简易的抓取别人网站内容
  • 原文地址:https://www.cnblogs.com/ylmfg/p/5533005.html
Copyright © 2020-2023  润新知