我聽說有一次可以使用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. 如何使用JS/jQuery在另一個站點上顯示iframe中的特定內容
- 3. Xamarin Forms - 如何在一個xaml內顯示另一個內容
- 4. 如何顯示一個網站的內容到另一個網站
- 5. 顯示一個PHP圖像上的文本內容,利用文本從另一個站點
- 6. iFrame在一個站點上沒有完全顯示,而在另一個站點上顯示正常?
- 7. 在另一個WordPress站點上顯示一個WordPress站點的帖子
- 8. 個人點擊後在網站上顯示內容喜歡
- 9. 如何顯示的內容另一塊
- 10. 如何使一些顯示上的某一點在網站上
- 11. 如何在wordpress中顯示另一頁上的部分內容?
- 12. 使用JavaScript Ajax從另一個站點檢索內容
- 13. 使用.htaccess在另一個域中顯示來自另一個域的內容
- 14. 如何顯示一個頁面的內容到另一個頁面的內容
- 15. jQuery輸出內容。如何使用JavaScript在另一個div上懸停時顯示隱藏的內容?
- 16. 從另一個站點解析數據並在自己的站點上顯示
- 17. PHP-如何獲取用戶點擊iFrame顯示另一個網站的URL
- 18. Joomla不在網站上顯示內容
- 19. 將內容顯示到另一個網站
- 20. 如何在另一個DIV中顯示DIV內容
- 21. 如何在另一個組件中顯示組件的內容?
- 22. 使用PHP在多個頁面上顯示內容
- 23. 顯示內容 - 點擊同一個php頁面內的按鈕
- 24. 使用jquery在Rails中顯示我的頁面上的另一個網站的內容,而不使用iframe
- 25. 如何在點擊另一個div後在另一個div上顯示div?
- 26. 如何使用PHP在另一個網站中包含另一個網站
- 27. 如何在字面上顯示回顯內容在PHP
- 28. 從另一個php站點顯示數據
- 29. ColdFusion:cftooltips在一個站點上顯示,但在同一服務器上不顯示另一個
- 30. PHP如何從函數()使用返回值顯示另一頁的內容
這只是打破了網頁,例如運行此: 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