From 204491c35758c6b595b409a29e8d2fd200aa53de Mon Sep 17 00:00:00 2001 From: Colin Rosenthal Date: Fri, 12 Oct 2018 14:24:05 +0200 Subject: [PATCH] Attempt to filter out embedded images. (cherry picked from commit aa5ff1dbdaefd04652a9c66506d20f1a6ae01dc3) --- .../modules/extractor/ExtractorHTML.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/modules/src/main/java/org/archive/modules/extractor/ExtractorHTML.java b/modules/src/main/java/org/archive/modules/extractor/ExtractorHTML.java index c0595940..ebcaf47a 100644 --- a/modules/src/main/java/org/archive/modules/extractor/ExtractorHTML.java +++ b/modules/src/main/java/org/archive/modules/extractor/ExtractorHTML.java @@ -445,18 +445,20 @@ public class ExtractorHTML extends ContentExtractor implements InitializingBean } else if (attr.start(5) > -1) { // SRC etc. CharSequence context = elementContext(element, attr.group(5)); - - // true, if we expect another HTML page instead of an image etc. - final Hop hop; - - if(!framesAsEmbeds - && (elementStr.equalsIgnoreCase(FRAME) || elementStr - .equalsIgnoreCase(IFRAME))) { - hop = Hop.NAVLINK; - } else { - hop = Hop.EMBED; + if (!context.toString().toLowerCase().startsWith("data:")) { + + // true, if we expect another HTML page instead of an image etc. + final Hop hop; + + if (!framesAsEmbeds + && (elementStr.equalsIgnoreCase(FRAME) || elementStr + .equalsIgnoreCase(IFRAME))) { + hop = Hop.NAVLINK; + } else { + hop = Hop.EMBED; + } + processEmbed(curi, value, context, hop); } - processEmbed(curi, value, context, hop); } else if (attr.start(6) > -1) { // CODEBASE codebase = (value instanceof String)?