2010-06-07 35 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。

但我仍然在寻找一个免费/开源库来做同样的事情。