thinkphp抓取網站內容保存到本地可以很大程度的方便我們借鑒一些內容或是圖片的收集。那么thinkphp怎么抓取網站內容保存到本地呢?有什么具體操作方法?下面我們具體來看看。
thinkphp 抓取網站的內容并且保存到本地的實例詳解
我需要寫這么一個例子,到電子課本網下載一本電子書。
電子課本網的電子書,是把書的每一頁當成一個圖片,然后一本書就是有很多張圖片,我需要批量的進行下載圖片操作。
下面是代碼部分:
- public function download() {
- $http = new /Org/Net/Http();
- $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開始,然后數字一直加
每個網頁里面都有一張圖,就是對應課本的內容,以圖片的形式展示課本內容
我的代碼是做了一個循環,從第一頁開始抓,一直抓到找不到網頁里的圖片為止
抓到網頁的內容后,把網頁里面的圖片抓取到本地服務器
新聞熱點
疑難解答
圖片精選