如何获取页面的所有图像?

时间:2011-03-17 12:19:57

标签: php

我需要在php中使用两个工具或脚本....

首先,我需要一个可以获取页面给定链接的所有图像的工具/ php scriot,这样我就可以将这些图像存储在我的数据库中,以便稍后将它们显示为链接的缩略图。

其次我需要一个工具/ php脚本,可以获取页面给定链接的标题,描述和快照缩略图。

我怎么能这样做? 任何工具或任何PHP脚本??

编辑: 当你试图在任何人的墙上张贴“链接”时,我需要类似Facebook的东西。

3 个答案:

答案 0 :(得分:5)

也许这个工具正是您所寻找的:http://simplehtmldom.sourceforge.net/。 您可以在“快速入门”中找到获取所有图像的示例。

编辑: 如果您需要,可以使用以下教程:http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/

另一种方法是使用DOM和PHP中包含的类(doc:http://fr2.php.net/manual/en/book.dom.php)。要获取您网页的所有meta标记,您可以执行以下操作:

<?php
$doc = new DOMDocument();
$doc->loadHTML('you_page.php');

$metas = $doc->getElementsByTagName('meta');

foreach ($metas as $meta)
{
    //To get a specific attribute
    echo $meta->getAttribute('your_attribute');
}

答案 1 :(得分:1)

您可以使用当前趋势并使用Node:Scrape web pages in real time with Node.js

虽然如果你在Windows和Unix上吓到你,它可能比它的价值更麻烦。

贾斯汀

答案 2 :(得分:0)

++ for SimpleHtmlDom

$ret = $html->find('a, img'); 

并获得标题等,你可以使用相同的 参考手册,

http://simplehtmldom.sourceforge.net/manual.htm

facebook不会显示网站的屏幕截图,但是它认为相关的图像。他们还遵循opengraph协议,

例如,如果您的网站有

<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>

元标记,然后它将使用该图像作为墙贴/状态的缩略图。