From f66e221a5b236cf3946833732102abf683cec669 Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Tue, 15 Jan 2019 18:33:09 +0000 Subject: [PATCH] get item image from open graph metadata (be careful, it's slow !) --- .../readrops/readropslibrary/PageParser.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/readropslibrary/src/main/java/com/readrops/readropslibrary/PageParser.java b/readropslibrary/src/main/java/com/readrops/readropslibrary/PageParser.java index ba341ed5..4e6cbafc 100644 --- a/readropslibrary/src/main/java/com/readrops/readropslibrary/PageParser.java +++ b/readropslibrary/src/main/java/com/readrops/readropslibrary/PageParser.java @@ -1,11 +1,17 @@ package com.readrops.readropslibrary; +import android.text.LoginFilter; +import android.util.Log; + +import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; public final class PageParser { @@ -38,4 +44,33 @@ public final class PageParser { return type.equals("application/rss+xml") || type.equals("application/atom+xml") || type.equals("application/json"); } + public static String getOGImageLink(String url) { + String imageUrl = null; + + try { + + long start = System.currentTimeMillis(); + Connection.Response response = Jsoup.connect(url).execute(); + + String body = response.body(); + String head = body.substring(body.indexOf(""), body.indexOf("")); + + Document document = Jsoup.parse(head); + Element element = document.select("meta[property=og:image]").first(); + + if (element != null) + imageUrl = element.attributes().get("content"); + + long end = System.currentTimeMillis(); + + Log.d("temps de parsing", String.valueOf(end - start)); + + return imageUrl; + + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } }