Получение информации о веб-сайте с помощью jQuery

#jquery #ajax

#jquery #ajax

Вопрос:

Есть ли способ получить информацию о веб-сайте (возможно, метаданные и изображения) с помощью jQuery? Примером того, чего я пытаюсь достичь, является то, что когда я делюсь ссылкой на facebook, она выводит соответствующие изображения и показывает текстовую заметку с веб-сайта (статьи).

Есть ли способ легко выполнить это с помощью jQuery (с ajax)?

Комментарии:

1. Можете ли вы предоставить часть кода, который вы создали на данный момент? Это в основном то, что делает jQuery, получение информации о веб-сайте …;)

Ответ №1:

Ну, я думаю, вы не сможете достичь этого с помощью одного Javascript (jQuery). Из-за политики того же источника вызовов AJAX вы не можете запрашивать информацию напрямую. Но вы могли бы отправить вызов AJAX своему собственному приложению с URL-адресом, чтобы оно загрузило нужную страницу и проанализировало ее мета-теги и заголовок. И возврат ответа в надлежащем формате.

Другой идеей было бы заставить сервер фактически просматривать страницу и делать ее скриншот и, возможно, хранить базу данных уменьшенных изображений для каждого домена, я не знаю, насколько это будет дорого с точки зрения вычислений, однако, кажется, намного хуже, чем простой синтаксический анализ.

Смотрите wkhtmltoimage

Ответ №2:

Если вы пытаетесь определить оптимальное изображение и текст для отображения по заданному URL, это сложная проблема, особенно учитывая, что большинство сайтов еще не используют семантическую разметку HTML5.

Я полагаю, Facebook позволяет разработчикам отмечать свою страницу, чтобы определить это. Для получения дополнительной информации ознакомьтесь:

http://developers.facebook.com/docs/reference/plugins/like/

http://developers.facebook.com/tools/lint/

Что касается того, чтобы делать это полностью с помощью jQuery, я думаю, что Uku правильный — я не думаю, что вы можете очистить страницу в другом домене. То, что я делал в прошлом, совпадает с тем, что он предлагает: отправьте AJAX-вызов PHP-скрипту на моем сервере, который загружает страницу и возвращает ее. Затем вы можете использовать PHP или JS для ее анализа, но остается вопрос, каков наиболее эффективный способ ее анализа?

Комментарии:

1. Что касается поиска оптимального изображения: я успешно использовал очень простой подход. Просто извлеките все теги <img> (CSS-фоны не считаются фактическим содержимым) и проверьте размеры файлов связанных изображений либо через http-заголовок content-length, либо путем временной загрузки. Затем считайте самое большое изображение основным изображением страницы.