Получить заголовок, мета-описание содержания, используя URL - PullRequest
3 голосов
/ 31 марта 2012

Я пытаюсь извлечь содержание описания заголовка и метатега из URL, вот что у меня есть:

fin[] //urls in a string array

for (int f = 0; f < fin.length; f++)
{
Document finaldoc = Jsoup.connect(fin[f]).get(); //fin[f] contains url at each instance
Elements finallink1 = finaldoc.select("title");
out.println(finallink1);
Elements finallink2 = finaldoc.select("meta");
out.println(finallink2.attr("name"));
out.println(fin[f]); //printing url at last
}

но он не печатает заголовок, а просто печатает описание как "описание" и печатает URL.

результат:

description plus.google.com generator en.wikipedia.org/wiki/google description earth.google.com

1 Ответ

19 голосов
/ 31 марта 2012

Вы можете использовать это:

String getMetaTag(Document document, String attr) {
    Elements elements = document.select("meta[name=" + attr + "]");
    for (Element element : elements) {
        final String s = element.attr("content");
        if (s != null) return s;
    }
    elements = document.select("meta[property=" + attr + "]");
    for (Element element : elements) {
        final String s = element.attr("content");
        if (s != null) return s;
    }
    return null;
}

Тогда:

 String title = document.title();
 String description = getMetaTag(document, "description");
 if (description == null) {
    description = getMetaTag(document, "og:description");
 }
 // and others you need to
 String ogImage = getMetaTag(document, "og:image") 

....

...