Получение размеров изображения, таких как скребок для ссылок Facebook - PullRequest
0 голосов
/ 05 марта 2012

Я внедряю свой собственный скребок для ссылок, чтобы максимально точно скопировать технику Facebook (если у кого-то нет готовой библиотеки для меня ...).

Согласно многочисленным ответам SO, процесс Facebook для определения изображения, связываемого с общей ссылкой, включает в себя поиск нескольких распознанных метатегов, а затем, если они не найдены, пролистывание изображений на странице ивозвращение списка соответствующих размеров (не менее 50 на 50 пикселей, максимальный формат изображения 3: 1, а также в формате PNG, JPEG или GIF в соответствии с этот ответ )

MyВопрос в том, как Facebook получает информацию о размере изображений?Это загружает все изображения для каждой общей ссылки и проверяет их?Есть ли более эффективный способ сделать это.(Мой бэкэнд - Python.)

(Примечание: имеет ли смысл использовать подход на стороне клиента вместо подхода на стороне сервера?)

1 Ответ

0 голосов
/ 20 июня 2012

Есть ли более эффективный способ сделать это.

Наиболее распространенные «веб» графические форматы - JPEG, GIF, PNG - содержат информацию о ширине и высоте в заголовке (илипо крайней мере, в первом блоке (для PNG).

Так что, если удаленный веб-сервер принимает запросов диапазона , можно будет запросить только первый X байт ресурса изображения вместо всей информации для получения нужной информации.

(Это то, что скребок Facebook делает и для HTML-страниц - довольно часто вы видите в отладчике, что на запрос был получен ответКод состояния HTTP 206 Частичное содержимое - это означает, что Facebook сказал, что они заинтересованы только в первых X (K) байтах (для метаэлементов в голове), и веб-сервер смогдать им только это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...