国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP小偷程序的設(shè)計與實現(xiàn)方法詳解

2024-05-04 23:51:06
字體:
供稿:網(wǎng)友

本文實例講述了PHP小偷程序的設(shè)計與實現(xiàn)方法。分享給大家供大家參考,具體如下:

其實自己一直想做一個內(nèi)涵圖片的網(wǎng)站,以前的想法是做一個CMS,然后自己上傳一些圖片。。

開始真這么做的,沒什么動力。之后就放棄了,后來研究了一個CURL。反正還是把這個想法實現(xiàn)比較好。

用PHP盜圖,就好比:穿著襪子穿涼鞋一樣。雖然沒問題,但看著確實蛋疼。

我先說一下我對PHP小偷程序的設(shè)計,PHP不支持多線程,這樣就只能分先后順序來做了

獲取到目標網(wǎng)站的HTML頁面+解析HTML頁面獲取到圖片存儲的連接+用二進制方式讀取并且保存在本地+重命名  == 流程OK

你現(xiàn)在用兩種方式來運行程序:

第一種:用游覽器跑程序(多半會卡死,設(shè)置超時和內(nèi)存大小就OK,你之間比較難等)

另一種:用命令行啟動PHP(不存在PHP超時的問題)

/***HTML解析類*author:Summer*date:2014-08-22**/ class Analytical{  public function __construct()  {     require_once('Class/SimpleHtmlDom.class.php');     $this->_getDir();  }  private function _getDir()  {    $dir = "../TMP/HTML/Results/1";    $imgBIG = "../TMP/IMG/JPG/BIG";    $it = new DirectoryIterator($dir."/");    foreach($it as $file) {     //用isDot ()方法分別過濾掉“.”和“..”目錄     if (!$it->isDot()) {       $dirs = $dir."/".$file ;       $tmp = explode(".",$file);       $html = file_get_html($dirs);       $ulArr = $html->find('img');       foreach($ulArr as $key=>$value)       {         if ($value->class == "u")         {           $url = http://m.survivalescaperooms.com.$value->src;           $infomation = file_get_contents($url);           $result = $this->saveHtml($infomation, $imgBIG, $tmp['0'].".jpg");           if($result)           {            echo $file."OK/n";           }         }       }     }   }  }   private function saveHtml($infomation,$filedir,$filename)   {     if(!$this->mkdirs($filedir))     {       return 0;     }     $sf = $filedir."/".$filename;     $fp=fopen($sf,"w"); //寫方式打開文件     return fwrite($fp,$infomation); //存入內(nèi)容     fclose($fp); //關(guān)閉文件   }   //創(chuàng)建目錄   private function mkdirs($dir)   {     if(!is_dir($dir))     {       if(!$this->mkdirs(dirname($dir))){         return false;       }       if(!mkdir($dir,0777)){         return false;       }     }     return true;   } }new Analytical();

上面這個是HTML頁面獲取IMG的連接地址的過程。

用到了兩個比較重要的東西:

1.PHP的DOM解析擴展simplehtmldom

2.PHP的目錄迭代器

理解這兩個東西了。這個分析類就沒難點了。

在說說如果獲取需要解析的頁面呢?

其實跟上面的原理的是一樣的。主要獲取頁面的URL,然后通過CURL去讀取頁面,返回一個HTML字符串,

再通過保存函數(shù)包HTML頁面保存到本地。

我這里是因為要采集頁面里面的圖片(為了防止別人防盜鏈),所以設(shè)計的比較復(fù)雜。

而且為什么要分開,是因為simplehtmldom對象是很龐大的,而且拆開進行這樣對流程更加清楚。

肯定有人會說,那為什么不用正則去匹配就跳過了HTML保存到本地的環(huán)節(jié)了,BINGO!我只能懶得寫正則而已。

希望本文所述對大家PHP程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 益阳市| 澄迈县| 景宁| 伊金霍洛旗| 乌兰浩特市| 承德县| 屏东县| 观塘区| 尼勒克县| 旅游| 焦作市| 保山市| 龙泉市| 县级市| 锡林郭勒盟| 河曲县| 西安市| 茂名市| 恭城| 浦县| 沙湾县| 青海省| 大同市| 应城市| 嵩明县| 化隆| 汉寿县| 武穴市| 湘乡市| 榆中县| 乌什县| 贵阳市| 平和县| 和顺县| 德清县| 宜州市| 新宾| 沧源| 镇安县| 无为县| 安吉县|