2012-07-25 7 views
11

Come arrivare pagina di meta (titolo, descrizione, immagini) Mi piace Facebook allegare url utilizzando Regex in .java consiglioCome ottenere pagina di meta (titolo, descrizione, immagini) Mi piace Facebook allegare url utilizzando Regex in Java

+0

Salve, Ho bisogno di ottenere descrizione di una pagina da subito .. qualcuno mi può aiutare ..? –

+0

http://stackoverflow.com/questions/9958425/get-title-meta-description-content-using-url – cnmuc

+0

Possibile duplicato di [Ottieni titolo, meta descrizione del contenuto tramite URL] (https://stackoverflow.com/questions/9958425/get-title-meta-description-content-using-url) – Stefan

risposta

2

I tu questo link jsoup.org se non risolvi ancora il tuo problema, puoi guardare here ci sono alcuni esempi su come risolvere il tuo problema con jsoup.
E here.

4

Come detto Ishikawa Yoshi, utilizzare JSoup

Esempio:

Document doc = Jsoup.connect("http://example.com/").get() 
for(Element meta : doc.select("meta")) { 
    System.out.println("Name: " + meta.attr("name") + " - Content: " + meta.attr("content")); 
} 

Questo codice è testato, speriamo che questo aiuta.

Utilizzando RegEx per raschiare un documento è una cattiva idea, leggere su di esso on Coding Horror

11

Ecco un frammento di codice che legge una pagina web e costruisce un piccolo pezzo di codice HTML che visualizzerà l'immagine Open Graph, e il titolo al giusto avvolgendo l'immagine. Ricade all'utilizzo del solo titolo html se mancano i tag OG, quindi può funzionare per rappresentare tutte le pagine web.

public static String parsePageHeaderInfo(String urlStr) throws Exception { 

    StringBuilder sb = new StringBuilder(); 
    Connection con = Jsoup.connect(urlStr); 

    /* this browseragant thing is important to trick servers into sending us the LARGEST versions of the images */ 
    con.userAgent(Constants.BROWSER_USER_AGENT); 
    Document doc = con.get(); 

    String text = null; 
    Elements metaOgTitle = doc.select("meta[property=og:title]"); 
    if (metaOgTitle!=null) { 
     text = metaOgTitle.attr("content"); 
    } 
    else { 
     text = doc.title(); 
    } 

    String imageUrl = null; 
    Elements metaOgImage = doc.select("meta[property=og:image]"); 
    if (metaOgImage!=null) { 
     imageUrl = metaOgImage.attr("content"); 
    } 

    if (imageUrl!=null) { 
     sb.append("<img src='"); 
     sb.append(imageUrl); 
     sb.append("' align='left' hspace='12' vspace='12' width='150px'>"); 
    } 

    if (text!=null) { 
     sb.append(text); 
    } 

    return sb.toString();  
} 
+0

Grazie Clay. Mi ha aiutato a risolvere lo stesso problema in Swift per iOS –

2

Che ne dici di questo? L'istruzione seguente analizza tutti i tag che iniziano con "og:". È utile.

doc.select ("meta [proprietà^= og:]")

void parseOGTag(String response) { 
    // Parse og tags 
    Document doc = Jsoup.parse(response); 
    Elements ogTags = doc.select("meta[property^=og:]"); 
    if (ogTags.size() <= 0) { 
     return; 
    } 

    // Set OGTags you want 
    String title; 
    String desc; 
    String image; 
    for (int i = 0; i < ogTags.size(); i++) { 
     Element tag = ogTags.get(i); 

     String text = tag.attr("property"); 
     if ("og:image".equals(text)) { 
      image = tag.attr("content"); 
     } else if ("og:description".equals(text)) { 
      desc = tag.attr("content"); 
     } else if ("og:title".equals(text)) { 
      title = tag.attr("content"); 
     } 
    }      
} 
Problemi correlati