Có thể lấy URL hình ảnh tĩnh từ URL flickr qua cuộc gọi api hoặc một số tập lệnh không?
Đối với ví dụ:
URL Flickr ->http://www.flickr.com/photos/[email protected]/2658147888/in/set-72157606175084388/
hình ảnh URL tĩnh ->http://farm4.static.flickr.com/3221/2658147888_826edc8465.jpgCách nhận url hình ảnh tĩnh từ URL flickr?
Trả lời
Trong URL Flickr, ID ảnh là 2658147888. Bạn sử dụng flickr.photos.getSizes để có các kích thước khác nhau của ảnh có sẵn và chọn url bạn muốn từ đó, tùy thuộc vào kích thước. Có một số cách để truy cập API, vì vậy vui lòng nêu rõ nếu bạn muốn biết thêm chi tiết về một ngôn ngữ cụ thể.
Cảm ơn! Đó là chính xác những gì tôi đang tìm kiếm. –
Cảm ơn, tôi cũng vậy! hoàn toàn không rõ ràng nếu có bất kỳ cuộc gọi flickr api nào sẽ cung cấp cho liên kết hình ảnh tĩnh thực sự. – cboettig
Không chắc chắn nếu bạn có thể lấy nó trực tiếp thông qua một cuộc gọi API duy nhất, nhưng liên kết này giải thích cách các url cho những hình ảnh được contructed : link
Cảm ơn bạn đã liên kết. Tôi thích xây dựng liên kết bởi bản thân mình, bởi vì thực hiện một cuộc gọi API cho mỗi hình ảnh là làm chậm cho tôi. – Daniel
Với cách xác định extras=url_o
bạn nhận được một liên kết đến hình ảnh ban đầu:
https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=YOURAPIKEY&format=json&nojsoncallback=1&text=cats&extras=url_o
Đối với hình ảnh downscaled, bạn sử dụng các thông số sau: url_t, url_s, url_q, url_m, url_n, url_z, url_c, url_l
Ngoài ra, bạn có thể xây dựng các URL as described:
http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg
or
http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg
Dưới đây là một số mã tôi đã viết để truy xuất siêu dữ liệu từ Ảnh Flickr dựa trên ID của nó:
đầu tiên tôi định nghĩa một đối tượng javascript FlickrPhoto
để giữ siêu dữ liệu của ảnh:
function FlickrPhoto(title, owner, flickrURL, imageURL) {
this.title = title;
this.owner = owner;
this.flickrURL = flickrURL;
this.imageURL = imageURL;
}
sau đó tôi đã tạo ra một đối tượng FlickrService
giữ Flickr API Key và tất cả các cuộc gọi ajax của tôi của tôi vào API RESTful.
Chức năng getPhotoInfo
lấy Photo ID như tham số, xây dựng cuộc gọi ajax phù hợp và vượt qua một đối tượng FlickrPhoto
chứa siêu dữ liệu ảnh vào callback chức năng.
function FlickrService() {
this.flickrApiKey = "763559574f01aba248683d2c09e3f701";
this.flickrGetInfoURL = "https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&nojsoncallback=1&format=json";
this.getPhotoInfo = function(photoId, callback) {
var ajaxOptions = {
type: 'GET',
url: this.flickrGetInfoURL,
data: { api_key: this.flickrApiKey, photo_id: photoId },
dataType: 'json',
success: function (data) {
if (data.stat == "ok") {
var photo = data.photo;
var photoTitle = photo.title._content;
var photoOwner = photo.owner.realname;
var photoWebURL = photo.urls.url[0]._content;
var photoStaticURL = "https://farm" + photo.farm + ".staticflickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + "_b.jpg";
var flickrPhoto = new FlickrPhoto(photoTitle, photoOwner, photoWebURL, photoStaticURL);
callback(flickrPhoto);
}
}
};
$.ajax(ajaxOptions);
}
}
Sau đó bạn có thể sử dụng các dịch vụ như sau:
var photoId = "11837138576";
var flickrService = new FlickrService();
flickrService.getPhotoInfo(photoId, function(photo) {
console.log(photo.imageURL);
console.log(photo.owner);
});
Hy vọng nó giúp.
Bạn cũng có thể truy cập hình ảnh ban đầu bằng cách sử dụng PHOTOID (số trước dấu gạch đầu tiên)
http://flickr.com/photo.gne?id=photoId
Trong trường hợp của bạn nó sẽ là:
Dưới đây là một giải pháp mà không bằng cách sử dụng flickr-apis, chỉ các lệnh Linux chuẩn (thực ra tôi đã chạy nó trên MS Windows với Cygwin):
- Đặt danh sách các URL trong tmp biến
- Nếu bạn đang tải ảnh riêng tư như tôi, giao thức sẽ https và bạn sẽ cần phải vượt qua cookie xác thực để wget. Tôi đăng nhập vào với một trình duyệt (Chrome) và xuất khẩu các tập tin cookie sử dụng một extension
- Nếu bạn truy cập URL công cộng, chỉ cần loại bỏ các tham số --load-cookie cookie $
- Các tải script trong thư mục địa phương ảnh ở định dạng gốc
- Nếu bạn chỉ muốn URL của hình ảnh tĩnh, hãy xóa lệnh cuối cùng | xargs wget --load-cookie $ cookie
Đây là kịch bản, bạn có thể sử dụng nó như một sự khởi đầu cho cuộc thám hiểm của bạn:
cookies=~/cookies.txt
root="https://www.flickr.com/photos/[email protected]/"
tmp="https://www.flickr.com/photos/[email protected]/29765108124/in/album-72157673986011342/
https://www.flickr.com/photos/[email protected]/29765103724/in/album-72157673986011342/
https://www.flickr.com/photos/[email protected]/29765102344/in/album-72157673986011342/"
while read -r url; do
if [[ $url == http* ]] ;
then
url2=$root`echo -n $url | grep -oP '(?<=https://www.flickr.com/photos/[email protected]/)\w+'`/sizes/o
wget -q --load-cookies $cookies -O - $url2 | grep -io 'https://c[0-9].staticflickr.com.*_o_d.jpg' | xargs wget --load-cookies $cookies
fi
done <<< "$tmp";
- 1. Nhận tất cả hình ảnh url từ chuỗi
- 2. hình ảnh từ URL để dòng
- 3. CarrierWave URL Hình ảnh
- 4. Tải hình ảnh từ URL/máy chủ
- 5. Hình ảnh đọc Java từ URL treo
- 6. Lưu hình ảnh từ URL bằng cURL
- 7. Cách chuyển URL động thành URL tĩnh
- 8. Lưu hình ảnh từ url bằng HTMLUnit
- 9. hình ảnh tải về Groovy từ URL
- 10. iOS: tải hình ảnh từ url
- 11. Bắt hình ảnh từ URL (Java)
- 12. NHẬN hình ảnh từ url và sau đó đổi tên hình ảnh
- 13. Wicket Hình ảnh động URL
- 14. Làm cách nào để lưu hình ảnh từ URL?
- 15. Cách lấy hình ảnh từ URL trong Delphi
- 16. Cách để tải hình ảnh từ url trong PlayN
- 17. Hình ảnh Silverlight: tải URL động?
- 18. Nhận URL hình ảnh trong tệp CSS bằng Java?
- 19. Nhận sên từ url hiện
- 20. Cách lấy URL từ UIImage
- 21. Ghi nơi không tải được hình ảnh từ url src
- 22. Cửa sổ Silverlight Phone 7: Tải hình ảnh từ URL
- 23. Android - Lưu hình ảnh từ URL vào thẻ SD
- 24. URL Tải hình ảnh chứa "è"
- 25. Đồng bộ tải xuống hình ảnh từ URL
- 26. Vẽ hình ảnh từ URL dữ liệu vào canvas
- 27. Bộ pdf có thể lưu hình ảnh từ url không?
- 28. Nhận URL từ một chuỗi
- 29. CakePHP URL Hình ảnh Tuyệt đối
- 30. thiết lập hình ảnh url để xem hình ảnh
Vâng, thực sự cũ. Nhưng nếu bạn, như tôi, vẫn kết thúc ở đây sau khi googling, hãy kiểm tra liên kết này: http://www.flickr.com/services/api/misc.urls.html –