我聽說有一次可以使用Curl來完成這項工作,但我不想在我的網站上顯示來自外部網站的所有內容,但只顯示來自特定div的內容。如何才能做到這一點?如何使用PHP在另一個站點上顯示內容?
4
A
回答
0
您可以使用curl從您想要的URL中獲取html,然後解析結果以「抓取」您想要的div。
9
您可以使用PHP Simple DOM Parser來抓取頁面並輕鬆選擇其中的一部分。
一樣簡單:
$html = file_get_html('http://www.google.com/');
$ret = $html->find('div[id=foo]');
文檔here。
如果你想要做的是抓住http://www.freeoh.net/的標題,下面的代碼將工作。您需要在與以下腳本相同的文件夾中放置simple_html_dom.php和一個名爲page.txt的文件(確保該腳本有權讀取和寫入該文件)。 (我假設你已經啓用捲曲,因爲你在你的問題中提到它。)
<?php
include 'simple_html_dom.php';
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://www.freeoh.net/");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://www.freeoh.net/");
$result = curl_exec ($curl);
curl_close ($curl);
//write contents of $result to file
$File = "page.txt";
$fh = fopen($File, 'w') or die("can't open file");
fwrite($fh, $result);
fclose($fh);
//turn file into dom object
$page = file_get_html("page.txt");
$header = $page->find("div", 1);
echo $header;
?>
這是一個有點哈克,因爲我用捲曲抓住頁面,然後需要存儲在某個地方,使PHP簡單HTML Dom解析器會正確解析它,但它可以工作。
0
相關問題
- 1. 如何使用PHP在另一個站點中顯示另一個站點的內容?
- 2. 如何顯示一個網站的內容到另一個網站
- 3. 在另一個WordPress站點上顯示一個WordPress站點的帖子
- 4. 使用.htaccess在另一個域中顯示來自另一個域的內容
- 5. 從另一個站點解析數據並在自己的站點上顯示
- 6. Joomla不在網站上顯示內容
- 7. 如何在另一個DIV中顯示DIV內容
- 8. 如何在另一個組件中顯示組件的內容?
- 9. 使用PHP在多個頁面上顯示內容
- 10. 使用jquery在Rails中顯示我的頁面上的另一個網站的內容,而不使用iframe
- 11. 如何在點擊另一個div後在另一個div上顯示div?
- 12. PHP如何從函數()使用返回值顯示另一頁的內容
- 13. 如何使用ui-router路由到另一個內部站點?
- 14. 在ASP.Net站點上動態創建/顯示內容
- 15. 使用innerHTML屬性顯示另一個html文件的內容?
- 16. 如何使用jQuery在另一個圖像上顯示圖像
- 17. 如何使用AJAX替換另一個內容的DIV內容
- 18. 如何從一個站點發送數據並在另一個站點上接收數據在php中
- 19. 在iframe中顯示另一個網站
- 20. 如何在另一個網站的iframe中顯示需要POST變量的一個網頁的內容?
- 21. 如何安裝一個站點內的另一個與Nginx的
- 22. PHP使用isset和SESSION在屏幕上顯示內容
- 23. 如何在另一個頁面中回顯一頁內容?
- 24. MVC結構,在這個網站上顯示的內容
- 25. android在另一個應用程序上共享內容時顯示錯誤
- 26. jQuery - 從另一個網站拉內容
- 27. 將文件從一個站點上傳到另一個站點
- 28. 如何使用RichTextBox顯示html內容?
- 29. Silverlight放大一個畫布的內容並在另一個畫布上顯示縮放內容
- 30. 使用PHP CURL從另一個本地主機站點調用localhost站點
這只是打破了網頁,例如運行此: find('div [id = header]'); ?> –
James
2010-04-29 01:21:37
編輯我的答案。如果您想從網站抓取標題,則代碼正在運行。 – 2010-04-29 03:32:31
+1不使用正則表達式。 – SLaks 2010-04-29 13:29:51