Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

32
LINES

< > BotCompany Repo | #1027024 - googleImageSearch_new2 (ditching jsoup)

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (3925L/27K).

scope googleImageSearch_new2.

static S #userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1";
static int #timeout = 10*1000;

static new ThreadLocal<Bool> #nsfw;

static BufferedImage googleImageSearch_new2(S q) {
  S html = loadPage_cached(q);
  
  S group = regexpFirstGroup("image/jpeg;base64,([a-zA-Z0-9/+]*)={0,2}", html);
  ret group == null ? null
    : imageFromBytes(base64decode(dropLast(l(group) & 3, group)));
}

sS #loadPage_cached(S q) {
  File f = googleImageSearch_htmlCacheFile(q);
  if (fileSize(f) > 0) ret loadTextFile(f);
  S html = loadPage(q);
  saveTextFile(f, html);
  ret html;
}

sS #loadPage(S q) ctex {
  S googleUrl = "https://www.google.com/search?tbm=isch"
    + (!isTrue(nsfw!) ? "&safe=active" : "")
    + "&q=" + urlencode(q);
  print("Googling " + quote(q));
  ret loadPageWithUserAgentAndTimeout(googleUrl, userAgent, timeout);
}

end scope

Author comment

Began life as a copy of #1022472

download  show line numbers  debug dex   

Travelled to 2 computer(s): mqqgnosmbjvj, xrpafgyirdlv

No comments. add comment

Snippet ID: #1027024
Snippet name: googleImageSearch_new2 (ditching jsoup)
Eternal ID of this version: #1027024/6
Text MD5: f2e565215f9e6b166820c271afdfd718
Transpilation MD5: 6db0ca96b6f8dfb6446a27a81b77b6aa
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2020-02-10 19:07:41
Source code size: 943 bytes / 32 lines
Pitched / IR pitched: No / No
Views / Downloads: 12 / 31
Version history: 5 change(s)
Referenced in: [show references]

Formerly at http://tinybrain.de/1027024 & http://1027024.tinybrain.de