一站式体验,JavBus & JavDB 兼容
< Відгуки до JavScript
如果预览图加载不出来的话,把 Class Apis 里面的两个函数复制替换就好了。
static async fetchBlogJav(code) { if (FC2_REGEX.test(code)) code = code.replace("-PPV-", " PPV "); const re = { img: "" }; const requests = [ { url: `https://blogjav.net/?s=${code}`, selectors: "#main .entry-title a", }, { url: `https://duckduckgo.com/?q=${code} site:blogjav.net`, selectors: ".react-results--main h2 a", }, { url: `https://www.google.com/search?q=${code} site:blogjav.net`, selectors: "#search .yuRUbf span > a", }, ]; let list = await Promise.allSettled(requests.map(item => request(item.url))); const { regex } = codeParse(code); code = code.toUpperCase(); let url = ""; for (let index = 0, { length } = requests; index < length; index++) { const { status, value } = list[index]; if (status !== "fulfilled" || !value) continue; const href = Array.from(value?.querySelectorAll(requests[index].selectors) ?? []).find(item => { const str = item.textContent.toUpperCase(); return regex.test(str) && str.includes(code); })?.href; // console.log("fetchBlogJav href: ", href); if (!href) continue; url = href; break; } if (!url) return re; list = await Promise.allSettled([ request(url), request(`http://webcache.googleusercontent.com/search?q=cache:${url}`), ]); url = ""; for (let index = 0, { length } = list; index < length; index++) { const { status, value } = list[index]; if (status !== "fulfilled" || !value) continue; let href = value.querySelector("#main .entry-content a")?.href; if (href && /\.(jpg|png)$/i.test(href)){ url = href; // console.log("fetchBlogJav if: ", url); break; } else{ let img = Array.from(value?.querySelectorAll("#main .entry-content img") ?? []).find(item => { const str = item.data-src.toUpperCase() ?? item.data-lazy-src.toUpperCase(); return /demosaic\.(jpg|png)$/i.test(str); })?.data-src; if (!img) continue; url = img.replace("//t", "//img").replace("thumbs", "images"); // console.log("fetchBlogJav else: ", url); break; } } re.img = url; return re; } static async fetchJavStore(code) { if (FC2_REGEX.test(code)) code = code.replace("-PPV-", "PPV "); const re = { img: "" }; let res = await request(`https://javstore.net/search?q=${code}`); if (!res) return re; res = res.querySelectorAll(".grid > a"); if (!res.length) return re; const { regex } = codeParse(code); code = code.toUpperCase(); res = Array.from(res).find(item => { // const str = item.title.toUpperCase(); const str = item.querySelector('h3')?.innerText.toUpperCase(); return str.includes(code) && regex.test(str) && item.querySelector("img").src.startsWith("https"); }); const relativePath = res?.getAttribute('href'); if (!relativePath) return re; res = await request(`https://javstore.net${relativePath}`); if (!res) return re; const img = res.querySelector(".prose > a")?.href; if (img && /\.(jpg|png)$/i.test(img)) re.img = img; // console.log("fetchJavStore re: ", re); return re; }
Sign in to post a reply.
如果预览图加载不出来的话,把 Class Apis 里面的两个函数复制替换就好了。