php通过simple_html_dom实现抓取网页内容,获取核心网页数据,将网页数据写入本地 xxx.json 文件

其代码实现逻辑:

1. 引入simple_html_dom.php文件

     

 require_once \'simple_html_dom-master/simple_html_dom.php\';

2. 获取远程或者本地html文件

   

$html = file_get_html(\'./imooc.html\');

3. 创建要获取数据的数组

    $cases =  Array();
    $arrImg = Array();

4. 获取当前网页所有案例图片、标题、观看人数、等级、价格

      foreach($html->find(\'.shizhan-course-wrap\') as $element) 
       {
        $arrImg[\'img\']  =  "http:".$element->find(\'.shizhan-course-img\',0)->src;
        $arrImg[\'intro\']  =  $element->find(\'.shizan-name\',0)->plaintext;
        $arrImg[\'degree\']  =  $element->find(\'.grade\',0)->plaintext;
        $arrImg[\'views\']  =  $element->find(\'.shizhan-info>span\',1)->plaintext;
        $arrImg[\'desc\']  =  $element->find(\'p.shizan-desc\',0)->plaintext;
        $arrImg[\'price\']  =  $element->find(\'div.course-card-price\',0)->plaintext;
        $arrImg[\'link\']  =  "http://coding.imooc.com".$element->find(\'a\',0)->href;

        $cases[] = $arrImg;
       }

5. 生成json格式,写入本地文件imooc.json

    $json = json_encode($cases);
    file_put_contents(\'imooc.json\', $json);

6. 通过其他html页面ajax调用本地json文件

~function(){
    function ajax(url,fn){
       var xhr = new XMLHttpRequest();
       xhr.open(\'get\',url,true);
       xhr.send();
       xhr.onload = function(ev){
          fn(ev);
       }
    }

    ajax(\'./imooc.json\',function(ev){
       var data = JSON.parse(ev.currentTarget.response);
       console.log(data);
     })
}();

7. 打印台输出内容:

8. 至于其获取元素相关的语法操作类似于jquery获取元素操作,请阅读在线网页文档:

    http://simplehtmldom.sourceforge.net/manual.htm

9. 其simple_dom_html类库下载地址:

    链接:https://pan.baidu.com/s/1o8mlw98 密码:im5q

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: