1

是否可以在不减慢页面加载速度的情况下从页面 url 获取页面描述?通过 java 脚本或 php 或任何语言?

例如我会发送这个输入:

http://www.facebook.com

并得到这个输出:

Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, ...

我该怎么做?

4

3 回答 3

1

你需要这个功能file_get_contents($url)。如需更多帮助,请参阅

1: http: //php.net/manual/en/function.file-get-contents.phpurlencode如果 URL 包含一些空格,您可能需要这样做。至于解析部分,我在网上找到了一些代码。是链接。让知道

代码 :

 <?php
function getMetaTitle($content){
//echo "AAAAA".$content;
$pattern = "|<[\s]*title[\s]*>([^<]+)<[\s]*/[\s]*title[\s]*>|Ui";
if(preg_match($pattern, $content, $match))
{
    //echo $match[1];
    return $match[1];
}
else
    return false;
}   
    //echo "<h1>Hello World!</h1>";
$url = "your url here";

$str = file_get_contents($url);

$title1 = getMetaTitle($str);
echo $title1;
//echo htmlentities($str);
?>
于 2012-05-05T07:27:56.147 回答
1

我想要类似的功能来创建一个有点像 Facebook 的功能并获取标题、描述和图像。我为此使用了DOMDocument,因此即使您也可以尝试使用 DOMDocument 来解析页面。根据 HTML 标签或属性解析 HTML 页面非常有用。

使用 ajax 的组合(通过将 PHP 脚本保留在您的域中),您可以将 url 传递给 PHP 脚本(类似于下面),这反过来将从网站获取所需的详细信息。

示例代码:

$url = ''; // this will be your URL
$doc = new DOMDocument();
// added @ to suppress the errors
@$doc->loadHTMLFile($url);

foreach($doc->getElementsByTagName('title') as $title)
{
   $arrDetails['title'] = $title->nodeValue;
}
于 2012-05-05T17:47:18.007 回答
0

file_get_contents($url) 然后解析标签或任何描述。然后将这对 url - description 保存到本地缓存以避免连续请求页面。

于 2012-05-05T06:59:16.080 回答