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; }"
}
广告