我正在编写一个java程序,它会搜索twitter,查找某些Instagram链接,然后将instagram图像下载到目录中。我已经编写了所有代码来进行twitter搜索和图像保存,但我遇到的问题是我得到了以下格式的URL
http://t.co/xxxxxxxx
从Twitter搜索,然后如果后面解析为Instagram URL,例如
http://instagr.am/p/xxxxxxxxxx/
如何解析Instagram网址的原始网址,然后在该网页上下载相应的图片?
答案 0 :(得分:3)
Instagram为此提供API调用。它以JSON格式返回您需要的所有内容,只需提供简短的URL,如:
http://api.instagram.com/oembed?url=http://instagr.am/p/XXXXXX/
你会得到这样的数据:
{
provider_url: "http://instagr.am/",
title: "Rays",
url: "http://distillery.s3.amazonaws.com/media/2010/10/02/7e4051fdcf1d45ab9bc1fba2582c0c6b_7.jpg",
author_name: "danrubin",
media_id: "5382_72",
author_id: 72,
height: 612,
width: 612,
version: "1.0",
author_url: "http://instagr.am/",
provider_name: "Instagram",
type: "photo"
}
或者如果您想要的只是图像,您只需在网址中添加/媒体:
答案 1 :(得分:2)
我不确定您的代码有多少,但您应该能够针对该t.co链接发出HTTP请求,并在返回的标头中获取Location
字段,其中包含instagr。是链接。
来自t.co链接的示例标头响应:
HTTP/1.1 301 Moved Permanently
Date: Wed, 21 Mar 2012 04:48:00 GMT
Server: hi
Location: http://instagr.am/p/XXXXXX/
Cache-Control: private,max-age=300
Expires: Wed, 21 Mar 2012 04:53:00 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
如您所见,Location
字段是您要解析的字段。