V2微图坊
https://www.v2ph.ru/
分享者: tangle122 (12293)发布时间: 7天前
第一次写完整代码 有点瑕疵多多包涵。
这个网站一般。需要登录才能看全套,否则只能看第一页。登录后不氪金每天看的数量有限制,大概是十套,但登录后只看第一页也会计入次数。推荐大家APP上不要登录,等要看全套的时候去浏览器登录。
{
"articleStyle": 2,
"customOrder": 0,
"enableJs": true,
"enabled": true,
"enabledCookieJar": true,
"header": "{\n \"User-Agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.0.0.0 Safari\/537.36\",\n \"Referer\": \"https:\/\/www.v2ph.ru\/\",\n \"Accept-Language\": \"zh-CN,zh;q=0.9\"\n}",
"lastUpdateTime": 0,
"loadWithBaseUrl": true,
"loginUrl": "https:\/\/www.v2ph.ru\/login",
"ruleArticles": ".col-12.col-sm-6.col-md-4.my-1",
"ruleContent": "@js:\nlet doc = org.jsoup.Jsoup.parse(result);\nlet infoTitle = doc.select(\"h1\").text();\n\n\/\/ --- 介绍页内容保持不变 ---\nlet infoTable = \"\";\nlet rows = doc.select(\".mt-2 dl.row dt\"); \nfor (let j = 0; j < rows.size(); j++) {\n let dt = rows.get(j);\n let dd = dt.nextElementSibling(); \n if (dt && dd) {\n let parts = dd.html().split('href=\"\/');\n let ddContent = parts.join('href=\"https:\/\/www.v2ph.ru\/');\n infoTable += \"<tr><td style='font-weight:bold;padding-right:10px;white-space:nowrap;vertical-align:top;'>\" + dt.text() + \"<\/td><td>\" + ddContent + \"<\/td><\/tr>\";\n }\n}\n\nlet allPhotos = [];\nlet currentHtml = result;\nlet baseUrl = \"https:\/\/www.v2ph.ru\";\n\n\/\/ --- 分页抓取图片 ---\nwhile (currentHtml) {\n let currentDoc = org.jsoup.Jsoup.parse(currentHtml);\n let imgs = currentDoc.select(\"img.album-photo\");\n for (let i = 0; i < imgs.size(); i++) {\n let src = imgs.get(i).attr(\"data-src\");\n if (src) {\n \/\/ 保持图片宽度 100%\n allPhotos.push(\"<img src='\" + src + \"' style='width:100%; display:block; margin-bottom:10px;'>\");\n }\n }\n \n let nextBtn = currentDoc.select(\"ul.pagination li.page-item a[rel=next]\").attr(\"href\");\n if (nextBtn && nextBtn.indexOf(\"page=\") !== -1) {\n let nextUrl = (nextBtn.indexOf(\"http\") === 0) ? nextBtn : baseUrl + nextBtn;\n currentHtml = java.ajax(nextUrl);\n } else {\n currentHtml = null;\n }\n}\n\n\/\/ --- 将图片区域包裹在黑色背景容器中 ---\n\"<div><h1>\" + infoTitle + \"<\/h1><table style='width:100%; border-collapse:collapse; line-height:1.6;'>\" + infoTable + \"<\/table><\/div>\" + \n\"<div style='background-color:#000000; margin: 20px -16px; padding: 10px 0;'>\" + \nallPhotos.join('') + \n\"<\/div>\";",
"ruleImage": "img@data-src||img@src",
"ruleLink": "h6 a@href",
"ruleNextPage": "page",
"ruleTitle": "h6@text",
"singleUrl": false,
"sortUrl": "首页::\/\n搜索::\/search\/?q={{source.getVariable()}}&page={{page}}\n中国::\/country\/china?page={{page}}\n日本::\/country\/japan?page={{page}}\n韩国::\/country\/south-korea?page={{page}}\n台湾::\/country\/taiwan?page={{page}}\n泰国::\/country\/thailand?page={{page}}\n欧美::\/country\/europe?page={{page}}\n",
"sourceGroup": "图",
"sourceIcon": "https:\/\/www.v2ph.ru\/img\/logo-ja.svg",
"sourceName": "V2微图坊",
"sourceUrl": "https:\/\/www.v2ph.ru\/",
"style": "img { max-width: 100%; height: auto; } a { color: #2196F3; text-decoration: none; }"
}