2010-06-08 8 views

Antwort

4

Verwenden Sie etwas wie cURL, um die Seite und dann etwas wie Simple HTML DOM zu parse es und extrahieren Sie die Elemente, die Sie wollen.

+0

danke, plz können Sie mir auch etwas Arbeit in Python auch zur Verfügung stellen. – SMSM

0

Während ich für eine ähnliche Funktionalität war auf der Suche, ich auf einer jQuery + PHP-Demo von der URL-Extrakt-Funktion von Facebook-Nachrichten kam: http://www.99points.info/2010/07/facebook-like-extracting-url-data-with-jquery-ajax-php/

Statt einen HTML-DOM-Parser verwendet, funktioniert es mit einfachen regulären Ausdrücken . Es sucht nach Titel, Beschreibung und IMG-Tags. Daher funktioniert die Bildextraktion bei vielen Websites, die CSS für Bilder verwenden, nicht gut. Auch Facebook schaut zuerst auf seine eigenen Meta-Tags und dann auf das klassische Description-Tag von HTML, aber es illustriert gut das Prinzip.

+0

Sie können diese Demo in Echtaktion bei http://wallscriptclone.com/ sehen. – 99Points

2

Wenn die Web-Site-Support für oEmbed hat, das ist einfacher und robuster als Schaben HTML:

oEmbed ein Format ist eine eingebettete Darstellung einer URL auf Websites von Dritten zu ermöglichen. Die einfache API ermöglicht es einer Website, eingebettete Inhalte (z. B. Fotos oder Videos) anzuzeigen, wenn ein Benutzer einen Link zu dieser Ressource sendet, ohne die Ressource direkt analysieren zu müssen.

oEmbed wird von Websites wie YouTube und Flickr unterstützt.

5

Embed.ly hat eine schöne api für genau diesen Zweck. Ihre API gibt die oEmbed-Daten der Site zurück, sofern verfügbar - andernfalls versucht sie, eine Zusammenfassung der Seite wie Facebook zu extrahieren.

+0

Beste Lösung bei weitem, aber begrenzt die Benutzer, dann wieder, wenn Ihre Website genug Benutzer hat, wo Emedly würde Sie berechnen, würden Sie eine gut genug machen Menge an Geld, um die $ 10- $ 100 pro Monat zu decken, die Sie für die 50.000 Abfragen pro Monat zahlen werden, ist die kostenlose nur 5.000 Abfragen pro Monat. Nur ein paar Informationen über Embedly, bevor Sie zu ihm gehen. Alles in allem beste Antwort für die Verwendung eines Plugins, um das Problem zu lösen. Andere als diese cURL wäre der einzige andere Weg, wenn Sie es von Grund auf neu machen. –

1

Ich arbeite an einem Projekt für dieses Problem, es ist nicht so einfach wie das Schreiben eines HTML-Parsers und erwarten, dass Websites "semantisch" sind. Vor allem das Extrahieren von Videos und das Auffinden von Auto-Play-Parametern wird zunichte gemacht. Sie können das Projekt in http://www.embedify.me überprüfen, die auch fb-style URL-Vorschau-Skript hat. Wie ich sehe, sind embed.ly und oembed passiver Parser, sie brauchen die Sites, um sie zu unterstützen, sogenannte Provider, der Ansatz ist ganz anders als bei fb.

+1

Vielen Dank. Funktioniert super. Eine herunterladbare, selbst gehostete Version wäre auch nett. –