2010-06-07 38 views
2

我如何在PHP中獲得任何URL的摘要?總之,我的意思是類似於Google網頁搜索結果中的URL描述。PHP總結任何URL

這可能嗎?是否已經有一些我可以插入的工具,所以我不必生成自己的摘要?

如果可能,我不想使用元數據描述。

-Dylan

回答

2

什麼在谷歌顯示(通常)的meta描述標籤。如果你不想使用它,你可以使用頁面標題。

1

如果你不想使用元數據描述(順便說一句,這正是他們的目的),你有很多研究和工作要做。基本上,你必須猜測頁面的哪一部分是內容,哪一部分是導航/絨毛。事實上,谷歌就是這樣;但要注意的是,從無用的絨毛中提取有價值的信息是他們的首要能力,他們一直在研究和改進這個問題十年。

當然,您可以做出有根據的猜測(例如「查找ID爲maincontent的元素」,並從中獲取第一段),也許這樣可以。真正的問題是,你想要結果有多好? (Facebook有類似的鏈接到網站的東西,有時摘要只是堅持認爲廣告是主要內容)。

+0

好吧..也許我會堅持元數據。你能否給我一個有效的方式來獲得標題和描述?我卡住了.. – 2010-06-07 15:34:46

+0

當然;但我認爲這是一個不同的主題來保證自己的問題 - 例如「使用PHP,如何從HTML頁面解析標題和元標記?」可能是一個很好的標題。 (我假設你知道如何通過你的PHP腳本下載頁面:)) – Piskvor 2010-06-07 15:44:42

+0

是的,我願意。謝謝 :) – 2010-06-07 16:02:18

0

以下內容將允許您解析頁面的title標籤的內容。注意:php必須配置爲允許file_get_contents檢索URL。否則,您將不得不使用curl來檢索頁面HTML。

$title_open = '<title>'; 
$title_close = '</title>'; 

$page = file_get_contents('http://www.domain.com'); 
$n = stripos($page, $title_open) + strlen($title_open); 
$m = stripos($page, $title_close); 

$title = substr($page, n, m-n); 
0

雖然我討厭促進服務我發現這一點:

embed.ly

它有一個API,它返回你所需要的所有數據的JSON。

但我仍然在尋找一個免費/開源庫來做同樣的事情。