Php 刮取网站URL以获取图像路径

Php 刮取网站URL以获取图像路径,php,curl,scrape,Php,Curl,Scrape,我正在拼凑一个简单的php脚本,它将构建我在Facebook粉丝页面上的相册列表 Facebook很乐意提供Graph API,它会给我一个很好的相册列表,但是它们不再提供默认相册图像的路径 我想编写一个PHP脚本,通过curl加载相册url,并以某种方式获取包含缩略图的表中第一个图像的路径。这将是第一个img标记的“src”值,该标记具有“UIPhotoGrid_Image”类 包含好东西的布局代码块如下所示: <div id="album_container"> <

我正在拼凑一个简单的php脚本,它将构建我在Facebook粉丝页面上的相册列表

Facebook很乐意提供Graph API,它会给我一个很好的相册列表,但是它们不再提供默认相册图像的路径

我想编写一个PHP脚本,通过curl加载相册url,并以某种方式获取包含缩略图的表中第一个图像的路径。这将是第一个img标记的“src”值,该标记具有“UIPhotoGrid_Image”类

包含好东西的布局代码块如下所示:

<div id="album_container">
    <div class="UIPhotoGrid_Container UIPhotoGrid_DefaultPadding">
        <table class="UIPhotoGrid_Table" cellpadding="0" cellspacing="0">
            <tr>
                <td class="UIPhotoGrid_TableCell">
                    <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004658&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-e.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883027272_20785087272_5004658_704231_s.jpg" onload="this.fb_loaded = true;" /></a>
                </td>
                <td class="UIPhotoGrid_TableCell">
                    <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004659&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-c.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883032272_20785087272_5004659_6158094_s.jpg" onload="this.fb_loaded = true;" /></a>
                </td>
                <td class="UIPhotoGrid_TableCell">
                    <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004660&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-f.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883037272_20785087272_5004660_1787119_s.jpg" onload="this.fb_loaded = true;" /></a>
                </td>
            </tr>
        </table>
    </div>
</div>


很遗憾,这超出了我目前的编码能力。。。有什么想法吗?

你有几种可能性:

1) 优雅的一点是,您可以从html示例中创建一个dom树,并提取标记


2) 不那么优雅但效率很高,您可以使用regexp提取该信息您可以使用

   $url = “http://www.foo.com”;
   $str = file_get_contents($url);
如果没有适合您需要的正则表达式,我只能说,在以前的经验中,我使用了很多条件语句,并且严重依赖substr(),但是这可能不明智。

您可以使用jQuery风格的语法获取路径

注意:Facebook可能有多个图像集群,因此照片的URL可能会随着时间的推移而改变