[PHP]如何讀取另一個網頁的內容?
[PHP]如何讀取另一個網頁的內容?
如何使用PHP讀取另一個網頁的內容,甚至是URL有帶參數的內容?
經測試有以下三種方式:
一、使用 file_get_contents() 函式
Example:
$siteurl = "http://tw.yahoo.com/";
$content = file_get_contents($siteurl);
echo $content;
二、自製 readweb() 函式
Example:
function readweb($weburl){
$reContent = "";
$fp = fopen($weburl,"r");
while(!feof($fp)) {
$reContent .= fgets($fp,100);
}
fclose($fp);
return $reContent;
}
$siteurl = "http://tw.yahoo.com/";
$content = readweb($siteurl);
echo $content;
三、使用 ob_** 系列函式
Example:
$siteurl = "http://tw.yahoo.com/";
ob_start();
require($siteurl);
$content = ob_get_contents();
ob_end_clean();
echo $content;
要注意的事項如下:
- 指定讀取的頁面最好為「http://」開頭的網址。
- 讀取「http://localhost/」的網址可能會因為本機的安全機制受到影響,在測試時可改用本機IP來進行測試,上傳到實際網址則不受影響。
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
| 茶米。黃信溢 說到: 如何使用PHP讀取另一個網頁的內容,甚至是URL有帶參數的內容?
|
也許有些朋友不知道米大所提的這個功能有什麼作用,其實搭配正規表示法與排程就可以取的很多有用的資料,有興趣的朋友可以參考下面那本書,你就能知道php除了作單純網頁應用之外的應用

內容簡介
PHP/cURL 程式設計指南
超越瀏覽器!網路應用的無限可能...
網際網路簡直無所不包。其應用之廣泛,絕非一般瀏覽器所涵蓋的小小範圍而已。無論你是程式設計師也好,一般生意人也罷,只要有心想要充分利用網路龐大的資源,那麼『網路機器人、網路蜘蛛與網路爬蟲』這本書就是為你而準備的。你想想看,如果只因為瀏覽器的能力有限,就侷限了你在網路上的體驗,那實在是件很沒有道理的事。事實上你完全可以按照個人的需求,輕易的以自動化方式來完成許多網路上不同的工作。
你只要學習如何編寫網路機器人與網路蜘蛛,就可以完成下面的這些工作:
.以程式化的方式,自動下載整個網站
.有效解析出網頁中的資料
.對cookie進行管理
.對加密過的檔案進行解碼
.以自動化的方式提交表單
.自動收發電子郵件
.利用SMS簡訊,將警告訊息自動傳送到你的手機中
.在受到密碼保護的網站中遨遊
.在網路拍賣中自動出價
.自動與FTP或NNTP伺服器,進行資料的交換
本書的範例專案,使用的全都是標準的程式碼函式庫,因此更加鞏固了這些新技巧的基礎。你在本書中將會學習到,如何建立自己的網路機器人與網路蜘蛛來追蹤網路上的價格變化,或是將不同的資料來源彙整到某個單一的網頁中,又或者也可以將你賴以生存不可或缺的網路資料,用比較好的方式妥善保存起來。你將會從一位經驗豐富的網路機器人開發者身上學習到許多內行的門道,知道在什麼狀況下,該如何編寫能掩人耳目的網路機器人來模仿人類的行為,或者是發展出更具有容錯能力的設計,並學習到各式各樣啟動網路機器人,對網路機器人進行排程的方法。此外,你也會得到一些建議,讓你在編寫這類程式時,懂得該如何尊重網站主人的產權。另一方面你也可以學習到,如何保護自己的網站,才能把那些不想讓它進來的機器人,全部通通擋在門外。
如果你造訪作者的網站,還可以得到一些額外的獎勵。你可以運用網站中的範例目標頁面,來測試你自己的網路機器人;本書所使用的所有script腳本與程式碼函式庫,在那裡也全都可以下載得到。
對於人們來說,總有一些工作十分重要,但做起來就是很乏味。現在你只要嘗試運用網路機器人,在網路上進行一些自動化的操作,相信你就絕不會再讓瀏覽器限制住自己使用網際網路的方式了。
目錄
Part I:基本概念與技術
CH01 對你來說,有什?用處?
CH02 關於網路機器人專案的一些構想
CH03 下載網頁
CH04 解析語義(PARSING)的技術
CH05 表格提交的自動化
CH06 管理大量的資料
Part II:專案
CH07 價格監視用網路機器人
CH08 影像擷取用網路機器人
CH09 連結查證(LINK-VERIFICATION)用網路機器人
CH10 匿名瀏覽用網路機器人
CH11 搜尋分級(SEARCH-RANKING)用網路機器人
CH12 彙整(AGGREGATION)用網路機器人
CH13 FTP用網路機器人
CH14 NNTP新聞用網路機器人
CH15 能讀取電子郵件的網路機器人
CH16 能發送電子郵件的網路機器人
CH17 將某個網站轉換為一個功能函數
Part III:進階技術的相關考量
CH18 網路蜘蛛(SPIDER)
CH19 採購用網路機器人與SNIPERS
CH20 網路機器人和密碼學(CRYPTOGRAPHY)
CH21 認證(AUTHENTICATION)
CH22 進階COOKIE管理
CH23 排程(SCHEDULING)用網路機器人與網路蜘蛛
Part IV:比較大的考量
CH24 設計能掩人耳目的網路機器人與網路蜘蛛
CH25 編寫具有容錯能力的(FAULT-TOLERANT)網路機器人
CH26 對網路機器人友善的網站設計
CH27 獵殺網路蜘蛛
CH28 讓你的網路機器人遠離是非
附錄A PHP/CURL參考資料
附錄B 狀態代碼
附錄C SMS EMAIL地址
譯者書評
我是本書的譯者。在這裡分享一下我對本書的看法。
本書運用動態網頁設計常用的PHP&MySQL, 實現了許多網路上的創意。值得一讀。
你或許不懂程式設計,但你知道瀏覽器封印了多少網際網路真正的潛力嗎?其實網路上的創意,有許\多都能透過網路機器人實現。
你懂得運用PHP&MySQL,却只拿來寫寫網頁嗎?實在太浪費了,本書將引領你解放PHP&MySQL廣大的應用。
你聽說網路蜘蛛不是什麽好東西嗎?搞錯了吧,沒有網路蜘蛛就沒有Google這麼好用的搜尋引擎。網路蜘蛛強大無罪,設計者的用意與用心才是網路蜘蛛做好事還是做壞事的決定者。講的難聽一點,如果設計者有了好工具卻做不出好事,充其量只能說他缺乏創意罷了。
你要如何設計出好用又受歡迎的網路機器人呢?就讓本書來告訴你,所有應該知道的事情吧。
相關資訊:http://www.books.com.tw/exep/assp.php/yogo/exep/prod/booksfile.php?item=0010431875
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
我的程式碼
<?php
$siteurl = "http://tw.yahoo.com";
ob_start();
require($siteurl);
$content = ob_get_contents();
ob_end_clean();
echo $content;
?>
但會出現錯誤
Warning: require() [function.require]: URL file-access is disabled in the server configuration in C:\AppServ\www\test\bau.php on line 4
Warning: require(http://tw.yahoo.com) [function.require]: failed to open stream: no suitable wrapper could be found in C:\AppServ\www\test\bau.php on line 4
Fatal error: require() [function.require]: Failed opening required 'http://tw.yahoo.com' (include_path='.;C:\php5\pear') in C:\AppServ\www\test\bau.php on line 4
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
| 小包 說到: 我的程式碼 <?php 但會出現錯誤
|
那是因為你的php.ini檔中的
allow_url_include = Off
只要將
allow_url_include = On
就可以了
詳細資料可看一下這篇文章
PHP.INI配置文件屬性中文說明大全(上)
http://www.pctartarus.com/?dp-bbsthread-782.html
allow_url_include = Off
;SYS
; 是否允許include/require遠程文件。
歡迎光臨YOGO生活誌 http://blog.yogo.tw
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
收到
謝謝唷
這本書現在柏克萊正在特價
有興趣的讀者快去買唷
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
這本書我已經買了
也相對便宜
我也有到原文作者的網站看了
如果你造訪作者的網站,還可以得到一些額外的獎勵。你可以運用網站中的範例目標頁面,來測試你自己的網路機器人;本書所使用的所有script腳本與程式碼函式庫,在那裡也全都可以下載得到。
但似乎沒有找到可以下載書中所說的程式碼相關
該不會要一個一個打吧.....
Re:[PHP]如何讀取另一個網頁的內容?

一般會員
已經找到
系統管理員