2010-06-08 2 views

ответ

4

Используйте что-то наподобие cURL, чтобы получить страницу, а затем что-то вроде Simple HTML DOM, чтобы разобрать ее и извлечь нужные элементы.

+0

thanx, plz вы также можете предоставить мне что-то работающее в python. – SMSM

0

Пока я искал подобную функциональность, я наткнулся на JQuery + PHP дема удаляемый URL функции сообщений Facebook: http://www.99points.info/2010/07/facebook-like-extracting-url-data-with-jquery-ajax-php/

Вместо того, чтобы использовать HTML DOM парсер, он работает с простыми регулярными выражениями , Он ищет названия, описания и теги img. Следовательно, извлечение изображения не очень хорошо работает с множеством сайтов, которые используют CSS для изображений. Кроме того, Facebook смотрит сначала на свои собственные метатеги, а затем на классический тег описания HTML, но он хорошо иллюстрирует принцип.

+0

Вы можете увидеть эту демонстрацию в реальном действии по адресу http://wallscriptclone.com/ – 99Points

2

Если веб-сайт имеет поддержку oEmbed, что проще и надежнее, чем выскабливание HTML:

oEmbed это формат, позволяющий создать внедренный представление URL на сайтах третьих лиц. Простой API позволяет веб-сайту отображать встроенный контент (например, фотографии или видео), когда пользователь отправляет ссылку на этот ресурс, без необходимости непосредственно анализировать ресурс.

oEmbed поддерживается такими сайтами, как YouTube и Flickr.

5

Embed.ly имеет приятный api для этой цели. Их api возвращает данные oEmbed сайта, если они доступны, в противном случае он пытается извлечь сводку страницы, например, Facebook.

+0

Лучшее решение на сегодняшний день, но ограничивает пользователей, а затем, если на вашем веб-сайте достаточно пользователей, где Emdedly будет взимать с вас плату, вы будете делать достаточно хорошо сумма денег, чтобы покрыть $ 10- $ 100 в месяц, вы будете платить за 50 000 запросов в месяц, бесплатно - всего 5 000 запросов в месяц. Просто немного информации о Embedly, прежде чем идти к нему. В общем, лучший ответ для использования плагина для решения проблемы. Другое тогда, что cURL было бы единственным другим способом, если бы вы делали это с нуля. –

1

Я работаю над проектом для этой проблемы, это не так просто, как писать html-парсер и ожидать, что сайты будут «семантическими». Особенно извлечения видео и поиска параметров автоматической игры убивают. Вы можете проверить проект в http://www.embedify.me, который также имеет сценарий предварительного просмотра URL-адреса в стиле fb. Как я вижу, embed.ly и oembed являются пассивным парсером, им нужны сайты для их поддержки, так называемые провайдеры, подход совсем другой, чем fb.

+1

Спасибо. Прекрасно работает. Также была бы загружена загружаемая версия с собственной версией. –