2010-10-30 17 views
12

Giả sử bạn được cung cấp http://nytimes.com Bạn sẽ lấy hình ảnh "chính" như thế nào?Làm thế nào để bạn tìm thấy hình ảnh "chính" của trang web, được cung cấp URL?

Lý do tôi hỏi là vì Flipboard có thể lấy hình ảnh chính từ một trang web, chỉ cần sử dụng URL.

Bạn có thể phân tích tất cả các thẻ hình ảnh. Nhưng sau đó thì?

+2

"Hình ảnh chính" là khá vô nghĩa. Bạn đang nói về hình ảnh lớn nhất? Bạn sẽ xem xét hình ảnh "chính" trên [StackOverflow.com] (http://stackoverflow.com/)? – meagar

+0

bạn có ý nghĩa logo không? – Vamsi

+6

Không vô nghĩa - Flipboard được đưa ra làm ví dụ. Các dịch vụ khác hiển thị hình ảnh 'chính' từ các URL bao gồm Summify, Percolate, Facebook và Twitter. –

Trả lời

3

Thực sự không có bất kỳ thứ gì được coi là hình ảnh "chính" trong trang web - không có gì trong HTML hoặc cách khác để phân biệt điều này. Chưa kể bạn có thể phải đọc tất cả các hình ảnh trong CSS (hay đúng hơn là hình nền vv). Nhưng nếu tôi phải làm điều này, đây là những gì tôi sẽ làm:

  1. Đầu tiên tôi sẽ quyết định kích thước hình ảnh phù hợp, cho phép mức tối thiểu 400x400. (Tôi không muốn chọn bất kỳ hình ảnh cũ nào, một cái gì đó thực sự nhỏ sẽ có khả năng quy mô khủng khiếp)
  2. Tôi sau đó sẽ lặp qua từng hình ảnh trên trang.2.
  3. Đối với mỗi hình ảnh tôi gặp phải, tôi sẽ kiểm tra kích thước của nó3. Nếu nó là 400x400 (kích thước được xác định trước của tôi) hoặc lớn hơn, tôi sẽ sử dụng hình ảnh này. Nếu không, tôi sẽ kiểm tra xem hình ảnh lớn nhất mà tôi đã tìm thấy cho đến giờ và nếu như vậy hãy giữ thông tin của nó được lưu trữ ở bên cạnh.
  4. Một khi tôi đã đạt được một số xác định trước các hình ảnh Tôi đã kiểm tra

    (đối với lập luận cho phép nói 10, nhưng chắc chắn bạn có thể đi cao hơn nhiều) Tôi muốn sử dụng hình ảnh lớn nhất tôi đã tìm thấy (được lưu trữ ở bên cạnh) vì tôi không muốn quét trang vô thời hạn tìm kiếm hình ảnh!

+3

Nếu bạn chỉ tìm kiếm hình ảnh lớn nhất, bạn có thể kết thúc bằng một quảng cáo lớn, như hình chữ nhật dài (728x90) hoặc hình chữ nhật đứng (120x600) – kijin

+1

Điều đó rất đúng. Vì vậy, bạn có thể hạn chế kích thước tối đa là tốt. – pinkfloydx33

+4

Hầu hết quảng cáo được tải qua iframe để chúng không phải là một phần của trang. Nhưng nếu đó là một mối quan tâm bạn chỉ có thể bỏ qua bất kỳ kích thước tiêu chuẩn IAB nào. – gabrielk

0

Facebook cho phép người dùng chọn một trong một số hình ảnh mà hình ảnh được cho là hình ảnh "chính". Theo như tự động xác định một hình ảnh "chính", tôi sẽ đánh giá nó dựa trên vị trí trang, kích thước, mối quan hệ với văn bản, và (nếu bạn muốn tinh vi hơn) nội dung trực quan của nó.

Ví dụ: bạn có thể sử dụng chương trình phát hiện khuôn mặt đơn giản hoặc xem bảng phân tích màu để xác định xem ảnh có "thú vị" cho bạn hay không.

EDIT: Trong trường hợp của www.nytimes.com, tôi có lẽ chỉ cần nhìn vào cấu trúc trang, bởi vì một băng chuyền lớn của hình ảnh nằm ngay bên dưới một thẻ H1.

13

Tôi không tin rằng có phương pháp chuẩn. Bạn có thể bắt đầu bằng cách tìm kiếm một thẻ hình ảnh Open Graph Protocol. Facebook sử dụng chúng để chọn hình ảnh cho các url được đăng trong các cập nhật và nhận xét trạng thái.

<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/> 

Nếu bạn sẵn sàng sử dụng bên thứ ba, Embedly cung cấp dịch vụ này như một dịch vụ có tính phí.

Nhúng cung cấp API mạnh mẽ để chuyển đổi URL chuẩn thành các bản xem trước video, hình ảnh và bài viết phong phú được nhúng từ 218 nhà cung cấp hàng đầu.

+1

+ để nhúng. Cảm ơn bạn đã đề xuất. –

+0

Thông tin thêm về đánh dấu Open Graph https://developers.facebook.com/docs/sharing/webmasters – binaryfunt

10

Có rất nhiều chiến lược để xác định "chính" hình ảnh của một URL là gì:

  • nhiều trang web hiện nay tuyên bố nội dung bức ảnh chính là (cho Facebook OpenGraph hay Twitter Cards)
  • đôi khi , hình ảnh có thể được đoán từ URL hoặc bằng cách thực hiện cuộc gọi API (đặc biệt đúng đối với hình ảnh lưu trữ trang web như Instagram)
  • hình ảnh chính cũng có thể được xác định bằng cách phân tích trang web với kỹ thuật trích xuất nội dung (Khả năng đọc). Bạn có thể muốn lọc ra "tiếng ồn" để loại bỏ pixel theo dõi hoặc quảng cáo.
  • nếu tất cả các kỹ thuật này không thành công, bạn có thể tải xuống tất cả hình ảnh và giả định rằng hình ảnh lớn nhất là thú vị nhất.

Tôi đã tạo thư viện JavaScript sử dụng hầu hết các kỹ thuật này để xác định ảnh "chính" của URL: ImageResolver.

+0

Cảm ơn Maurice - điều này thực sự hoạt động rất tốt, chỉ cần kiểm tra nó khá kỹ lưỡng và sự thiếu chính xác nhỏ nhất mà tôi thấy là nó mang lại quay lại hình ảnh thứ hai về bài viết này: http://www.bbc.com/news/uk-35781613. Ngoài ra nó hoàn toàn phù hợp với định nghĩa của riêng tôi về một hình ảnh "chính" – d3wannabe

Các vấn đề liên quan