優點:通過php小偷,我們可以借用別人**上的資訊而不用自己辛苦地去採集。
缺點:需要把整頁的html**讀取到本地,然後通過匹配獲取到想要的資訊再進行顯示,這樣大大影響網頁的載入速度。
改進:通過ajax非同步讀取html**,後台進行匹配獲取到想要的資訊,再顯示到前台頁面。
預備知識:php、ajax、正規表示式。
關鍵字:file_get_contents()、fopen()、fwrite()、eregi(),前三個關鍵字都是關於php檔案處理的函式,eregi()是關於正規表示式的函式。
一、php小偷原理的實現:
1、file_get_contents()、fopen()、fwrite()的應用
咱們用華夏黑客牛刀小試吧,把主頁的全部資訊獲取過來。
建立乙個php檔案:
//file_get_contents()函式獲取網頁的html文件
$file=file_get_contents($url);
//建立乙個新檔案imitationindex.htm
$newfile=fopen('imitationindex.htm','w');
//把內容讀取進去
fwrite($newfile,$file);
//關閉開啟的檔案
fclose($newfile);
?>
imitationindex.htm獲取主頁全部的html(儲存好,以備下次使用)。
2、eregi()函式的應用
通過eregi()獲取裡的內容:
//file_get_contents()函式獲取網頁的html文件
$file=file_get_contents($url);
//通過eregi()匹配獲取想要的資訊
eregi('(.*)',$file,$rg);
//建立乙個新檔案
$newfile=fopen('title.htm','w');
//把內容讀取進去
fwrite($newfile,$rg[1]);
?>
開啟title.htm可以看到已經獲取了之間的內容
從上面的兩個例子,已經知道php小偷的實現原理,從中也知道它的不足之處,但通過ajax可以完善它,使它可以用於實踐專案中。
二、php小偷技術的實用和改進:
實際中可能只用到三個頁面:shownews.php、update.php、hacknews.htm,但為了能看到實時更新的效果,這裡用到了模擬主頁的頁面imitationindex.htm。
shownews.php:
<?php
echo('');
include('hacknews.htm');
echo('
');
?>
hacknews.htm是已經快取的檔案,這樣不用載入主頁上的整個html再顯示,這個工作留給ajax:
xmlhttp.responsetext就是載入更新後的內容。
update.php:
<?php
$url='imitationindex.htm';
//file_get_contents()函式獲取網頁的html文件
$file=file_get_contents($url);
//$regx為正規表示式的內容,用於匹配獲取想要的資訊
$regx='
(.*)
eregi($regx,$file,$rg);
//建立乙個新檔案hacknews.htm
$newfile=fopen('hacknews.htm','w');
//把內容讀取進去
fwrite($newfile,$rg[1]);
fclose($newfile);
//用iconv編碼轉換後,輸出匹配的html內容
$rg[1]=iconv('gb2312','utf-8',$rg[1]);
echo($rg[1]);
?>
PHP 實現小偷程式
為什麼使用 小偷程式 遠端抓取文章資訊或商品資訊是很多企業要求程式設計師實現的功能,也就是俗說的小偷程式。其最主要的優點是 解決了公司網編繁重的工作,大大提高了效率。只需要一執行就能快速的抓取別人 的資訊。小偷程式 在 執行?小偷程式 應該在 windows 下的 dos 參考文章 或 linux ...
php簡單小偷程式
學了簡單的正規表示式 a za z0 9 a za z0 9 a za z0 9 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。正規表示式函式 ereg eregi ereg 正規表示式,內容,返回的陣列 若省略引數返回的陣列,找到則返回值為 true 否...
php小偷例項教程
以 http mtv.8391.com 為例,偷取mtv名稱 歌手 路徑 1 對原 進行 分析 檢視其原檔案,判斷出呼叫mtv路徑的檔案 利用 檢視程式,取得 http mtv.8391.com yxwen.asp?id 3488頁面 3488為隨機,只是了解頁面 2 對要偷取的頁面進行 分析 ht...