从twitpic网址下载照片

时间:2011-03-13 14:56:45

标签: php ruby parsing

有没有办法从Twitpic网址下载图片?假设我想要下一张照片http://twitpic.com/49275c

3 个答案:

答案 0 :(得分:6)

ID为49275c的图片的相应链接由

给出

http://twitpic.com/show/full/49275c获取完整尺寸的图片。

使用'thumb'或'mini'替换'full'以获得不同的尺寸。

http://twitpic.com/show/[size]/[image-id]

你应该看看API和修补程序: http://dev.twitpic.com/

答案 1 :(得分:1)

正如@Gordon在评论中所指出的那样, twitpic似乎有一个API - 你应该使用它来做这种事情。

请参阅: http://dev.twitpic.com/



现在,这是旧答案 - 有趣,但不是一个好主意,考虑到有一个API:

您拥有的网址不是图片本身的网址:它是HTML页面的网址,其中显示的图片位于<img>代码中。

因此,您需要分两步采取行动:


以下是执行此操作的代码示例:

$twitpic_url = 'http://twitpic.com/49275c';

$dom = new DOMDocument();
if (@$dom->loadHTMLFile($twitpic_url)) {
    // HTML loaded successfully
    // => You need to find the right <img> tag
    // Looking at the HTML, you'll see it has id="photo-display"
    $img_tag = $dom->getElementById('photo-display');

    $src = $img_tag->getAttribute('src');

    // Just to be sure, let's display the image's URL
    var_dump($src);

    // Now, you have to download the image which URL is $src
    $img_content = file_get_contents($src);

    // ANd do whatever you want with that binary image content
    // like save if to a file :
    file_put_contents('/tmp/my-image.jpg', $img_content);
}

注意:您必须在此处添加一些检查 - 例如检查是否存在照片显示元素。

答案 2 :(得分:0)

您可以使用entities parameter直接从Twitter API执行此操作。