2010-06-08 6 views

Répondre

4

Utilisez quelque chose comme cURL pour obtenir la page et puis quelque chose comme Simple HTML DOM pour l'analyser et extraire les éléments que vous voulez.

+0

merci, plz pouvez-vous également me fournir quelque chose de travail en python aussi. – SMSM

0

Alors que je cherchais une fonctionnalité similaire, je suis tombé sur une démo jQuery + PHP de la fonction d'extraction url de messages Facebook: http://www.99points.info/2010/07/facebook-like-extracting-url-data-with-jquery-ajax-php/

Au lieu d'utiliser un analyseur DOM HTML, il fonctionne avec des expressions régulières simples . Il recherche le titre, la description et les balises img. Par conséquent, l'extraction d'image ne fonctionne pas bien avec beaucoup de sites Web, qui utilisent CSS pour les images. De plus, Facebook regarde d'abord ses propres balises meta et ensuite la balise de description classique de HTML mais cela illustre bien le principe.

+0

Vous pouvez voir cette démo en action réelle à http://wallscriptclone.com/ – 99Points

2

Si le site Web a un support pour oEmbed, qui est plus facile et plus robuste que HTML grattage:

oEmbed est un format pour permettre une représentation intégrée d'une URL sur des sites tiers. L'API simple permet à un site Web d'afficher un contenu intégré (tel que des photos ou des vidéos) lorsqu'un utilisateur publie un lien vers cette ressource, sans avoir à analyser directement la ressource.

oEmbed est pris en charge par des sites tels que YouTube et Flickr.

5

Embed.ly a une belle API pour exactement ce but. Leur api renvoie les données oEmbed du site si disponible - sinon, il tente d'extraire un résumé de la page comme Facebook.

+0

La meilleure solution de loin, mais limite les utilisateurs, alors encore une fois si votre site Web a assez d'utilisateurs où Emdedly vous facturer, vous feriez assez bien montant de l'argent pour couvrir les 10 $ - 100 $ par mois, vous allez payer pour les 50 000 requêtes par mois, le gratuit est de seulement 5 000 requêtes par mois. Juste un peu d'information sur Embedly avant d'y aller. Dans l'ensemble, la meilleure réponse pour utiliser un plugin pour résoudre le problème. Autre que cURL serait le seul autre moyen si vous le faites à partir de zéro. –

1

Je travaille sur un projet pour ce problème, il n'est pas aussi simple que d'écrire un analyseur html et d'attendre que les sites soient «sémantiques». En particulier l'extraction de vidéos et la recherche de paramètres de jeu automatique tuent. Vous pouvez vérifier le projet dans http://www.embedify.me, qui a également un script de prévisualisation d'URL de style fb. Comme je le vois, embed.ly et oembed sont des analyseurs passifs, ils ont besoin des sites pour les supporter, ce que l'on appelle les fournisseurs, l'approche est assez différente de celle de fb.

+1

Merci. Fonctionne très bien. Une version téléchargeable et auto-hébergée serait bien aussi. –