有没有办法从Twitpic网址下载图片?假设我想要下一张照片http://twitpic.com/49275c。
答案 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 - 你应该使用它来做这种事情。
现在,这是旧答案 - 有趣,但不是一个好主意,考虑到有一个API:
您拥有的网址不是图片本身的网址:它是HTML页面的网址,其中显示的图片位于<img>
代码中。
因此,您需要分两步采取行动:
<img>
标记的网址。
DOMDocument::loadHTMLFile
file_get_contents
,
以下是执行此操作的代码示例:
$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执行此操作。