2010-06-08 10 views

risposta

4

Utilizzare qualcosa come cURL per ottenere la pagina e quindi qualcosa come Simple HTML DOM per analizzarlo ed estrarre gli elementi desiderati.

+0

Grazie, plz puoi anche fornirmi qualcosa di lavoro anche in python. – SMSM

0

Mentre ero alla ricerca di una funzionalità simile, mi sono imbattuto in una demo jQuery + PHP della funzione di estratto di URL di messaggi di Facebook: http://www.99points.info/2010/07/facebook-like-extracting-url-data-with-jquery-ajax-php/

Invece di usare un parser HTML DOM, funziona con semplici espressioni regolari . Cerca titolo, descrizione e tag img. Quindi, l'estrazione dell'immagine non funziona bene con molti siti Web, che usano il CSS per le immagini. Inoltre, Facebook guarda prima ai propri metatag e poi al classico tag HTML, ma illustra bene il principio.

+0

Puoi vedere questa demo in azione reale su http://wallscriptclone.com/ – 99Points

2

Se il sito web ha il supporto per oEmbed, che è più facile e più robusto di raschiare HTML:

oEmbed è un formato per consentire una rappresentazione incorporata di un URL su siti di terze parti. La semplice API consente a un sito Web di visualizzare contenuti incorporati (come foto o video) quando un utente pubblica un collegamento a tale risorsa, senza dover analizzare direttamente la risorsa.

oEmbed è supportato da siti come YouTube e Flickr.

5

Embed.ly ha una bella API esattamente per questo scopo. La loro API restituisce i dati oEmbed del sito, se disponibili, altrimenti tenta di estrarre un riepilogo della pagina come Facebook.

+0

La migliore soluzione di gran lunga, ma limita gli utenti, quindi di nuovo se il tuo sito web ha abbastanza utenti in cui Emdedly ti addebiterà, lo farei abbastanza bene importo di denaro per coprire i $ 10- $ 100 al mese che pagherete per le 50.000 richieste al mese, il libero è solo 5.000 richieste al mese. Solo poche informazioni su Embedly prima di andare ad esso. Tutto sommato, la migliore risposta per l'utilizzo di un plugin per risolvere il problema. Altrimenti quel cURL sarebbe l'unico altro modo se lo fai da zero. –

1

Sto lavorando a un progetto per questo problema, non è facile come scrivere un parser html e mi aspetto che i siti siano "semantici". Soprattutto l'estrazione di video e la ricerca di parametri di riproduzione automatica stanno uccidendo. È possibile controllare il progetto in http://www.embedify.me, che ha anche uno script di anteprima url in stile fb. Come vedo, embed.ly e oembed sono parser passivi, hanno bisogno dei siti per supportarli, i cosiddetti provider, l'approccio è molto diverso da fb.

+1

Grazie. Funziona alla grande. Una versione scaricabile e auto-ospitata sarebbe anche bella. –

Problemi correlati