我需要寫這么一個例子,到電子課本網下載一本電子書。
電子課本網的電子書,是把書的每一頁當成一個圖片,然后一本書就是有很多張圖片,我需要批量的進行下載圖片操作。
下面是代碼部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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開始,然后數字一直加
每個網頁里面都有一張圖,就是對應課本的內容,以圖片的形式展示課本內容
我的代碼是做了一個循環,從第一頁開始抓,一直抓到找不到網頁里的圖片為止
抓到網頁的內容后,把網頁里面的圖片抓取到本地服務器
抓取后的實際效果:
以上就是thinkphp 抓取網站的內容并且保存到本地的實例詳解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://www.cnblogs.com/modou/p/5991617.html