// page contents is cached using webScrape // returns pairs (video id, title plus stats) static LPairS videoLinksFromYouTubePage(S url) { S html = webScrape(url); LS l = lambdaMap (regexpExtractAll([[\\"(label|videoId)\\":\\"(.*?)\\"]], html)); S videoId = null; new LPairS out; for (PairS p : listToPair(splitAtColon(unquoteRaw(l)))) { if (eq(p.a, "videoId")) videoId = p.b; else out.add(pair(videoId, p.b)); } ret out; }