zoukankan      html  css  js  c++  java
  • 用thinkphp写的一个例子:抓取网站的内容并且保存到本地

    我需要写这么一个例子,到电子课本网下载一本电子书。

    电子课本网的电子书,是把书的每一页当成一个图片,然后一本书就是有很多张图片,我需要批量的进行下载图片操作。

    下面是代码部分:

        public function download() {
            $http = new OrgNetHttp();
            $url_pref = "http://www.dzkbw.com/books/rjb/dili/xc7s/";
            $localUrl = "Public/bookcover/";
            $reg="|showImg('(.+)');|";
            $i=1;
            
            do {
                $filename = substr("000".$i,-3).".htm";
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url_pref.$filename);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                $html = curl_exec($ch);
                curl_close($ch);
                
                $result = preg_match_all($reg,$html,$out, PREG_PATTERN_ORDER);
                if($result==1) {
                    $picUrl = $out[1][0];
                    $picFilename = substr("000".$i,-3).".jpg";
                    $http->curlDownload($picUrl, $localUrl.$picFilename);
                }
                $i = $i+1;
            } while ($result==1);
    
            echo "下载完成";
        }

    我这里是以人教版地理七年级地理上册为例子 http://www.dzkbw.com/books/rjb/dili/xc7s/001.htm

    网页是从001.htm开始,然后数字一直加

    每个网页里面都有一张图,就是对应课本的内容,以图片的形式展示课本内容

    我的代码是做了一个循环,从第一页开始抓,一直抓到找不到网页里的图片为止

    抓到网页的内容后,把网页里面的图片抓取到本地服务器

    抓取后的实际效果:

  • 相关阅读:
    Python中的类(上)
    Django REST Framework API Guide 07
    Django REST Framework API Guide 06
    Django REST Framework API Guide 05
    Django REST Framework API Guide 04
    Django REST Framework API Guide 03
    Django REST Framework API Guide 02
    Django REST Framework API Guide 01
    Django 详解 信号Signal
    Django 详解 中间件Middleware
  • 原文地址:https://www.cnblogs.com/modou/p/5991617.html
Copyright © 2011-2022 走看看