thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實例詳解
thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實例詳解
我需要寫這么一個例子,到電子課本網(wǎng)下載一本電子書。
電子課本網(wǎng)的電子書,是把書的每一頁當成一個圖片,然后一本書就是有很多張圖片,我需要批量的進行下載圖片操作。
下面是代碼部分:
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
網(wǎng)頁是從001.htm開始,然后數(shù)字一直加
每個網(wǎng)頁里面都有一張圖,就是對應(yīng)課本的內(nèi)容,以圖片的形式展示課本內(nèi)容
我的代碼是做了一個循環(huán),從第一頁開始抓,一直抓到找不到網(wǎng)頁里的圖片為止
抓到網(wǎng)頁的內(nèi)容后,把網(wǎng)頁里面的圖片抓取到本地服務(wù)器
抓取后的實際效果:
以上就是thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實例詳解,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- 基于ThinkPHP5框架使用QueryList爬取并存入mysql數(shù)據(jù)庫操作示例
- php使用QueryList輕松采集js動態(tài)渲染頁面方法
- jquery+thinkphp實現(xiàn)跨域抓取數(shù)據(jù)的方法
- thinkphp5 URL和路由的功能詳解與實例
- ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法小結(jié)
- TP5(thinkPHP5)框架基于ajax與后臺數(shù)據(jù)交互操作簡單示例
- thinkphp5.1 文件引入路徑問題及注意事項
- thinkPHP5(TP5)實現(xiàn)改寫跳轉(zhuǎn)提示頁面的方法
- tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)
- thinkphp5 加載靜態(tài)資源路徑與常量的方法
- tp5(thinkPHP5)框架實現(xiàn)多數(shù)據(jù)庫查詢的方法
- TP5框架使用QueryList采集框架爬小說操作示例
相關(guān)文章
PHP得到某段時間區(qū)間的時間戳 php定時任務(wù)
linux 定時掃描,若有滿足條件的用戶,則發(fā)送短信2012-04-04PHP使用Redis實現(xiàn)Session共享的實現(xiàn)示例
這篇文章主要介紹了PHP使用Redis實現(xiàn)Session共享的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05