笔趣阁biquge.tw

https://www.biquge.tw

lonbeaubrunpjl81 (13720)3天前

使用GPT生成的


适配

笔趣阁biquge.tw

需要科学上网

二维码导入
{
    "bookSourceComment": "biquge.tw;本版针对正文为空:章节页走WebView,webJs返回正文文本,content使用<js>result<\/js>明确读取webJs返回值;保留CF登录认证入口。",
    "bookSourceGroup": "GPT制作书源",
    "bookSourceName": "笔趣阁biquge.tw",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/www.biquge.tw",
    "customOrder": 1,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nvar p = parseInt('{{page}}') || 1;\nvar cats = [\n  ['全部','\/sort\/'],\n  ['玄幻','\/sort\/xuanhuan\/'],\n  ['武侠','\/sort\/wuxia\/'],\n  ['都市','\/sort\/dushi\/'],\n  ['历史','\/sort\/lishi\/'],\n  ['科幻','\/sort\/kehuan\/'],\n  ['游戏','\/sort\/youxi\/'],\n  ['其他','\/sort\/qita\/']\n];\nresult = JSON.stringify(cats.map(function(x){\n  var u = x[1] + (p > 1 ? p + '.html' : '');\n  return {\n    title: x[0],\n    url: u,\n    style: {layout_flexGrow:1, layout_flexBasisPercent:0.25}\n  };\n}));",
    "header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\", \"Accept\": \"text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/avif,image\/webp,*\/*;q=0.8\", \"Accept-Language\": \"zh-CN,zh;q=0.9\", \"Referer\": \"https:\/\/www.biquge.tw\/\"}",
    "lastUpdateTime": "1779624773788",
    "loginCheckJs": "try {\n  var html = String(result.body());\n  if (\/Just a moment|Cloudflare|cf-challenge|challenge-platform|请稍候|验证\/i.test(html)) {\n    java.log('biquge.tw:疑似仍在 Cloudflare 验证页,请到书源“登录”里点击“打开CF认证”。');\n  } else {\n    java.log('biquge.tw:未检测到明显 Cloudflare 验证页。');\n  }\n} catch (e) {\n  java.log('biquge.tw loginCheckJs: ' + e);\n}\nresult",
    "loginUi": "@js:\nvar li = [\n  {'打开CF认证': 'cfAuth()'},\n  {'测试章节正文': 'cfTestChapter()'},\n  {'查看Cookie': 'cfShowCookie()'},\n  {'清除CF Cookie': 'cfClearCookie()'}\n];\nli.forEach(function(item){\n  var k = Object.keys(item)[0];\n  item.name = k;\n  item.type = 'button';\n  item.action = item[k];\n  item.style = {layout_flexGrow: 1, layout_flexBasisPercent: -1};\n  delete item[k];\n});\nJSON.stringify(li)",
    "loginUrl": "function cfOpt() {\n  var ua = 'Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36';\n  var opt = {\n    webView: true,\n    retry: 2,\n    headers: {\n      'User-Agent': ua,\n      'Referer': 'https:\/\/www.biquge.tw\/'\n    }\n  };\n  return JSON.stringify(opt);\n}\n\nfunction cfAuth() {\n  try {\n    var url = 'https:\/\/www.biquge.tw\/,' + cfOpt();\n    java.startBrowserAwait(url, 'biquge.tw CF认证', false);\n    var ck = String(java.getCookie('https:\/\/www.biquge.tw\/', null));\n    java.log('biquge.tw Cookie: ' + ck);\n    return true;\n  } catch (e) {\n    java.log('CF认证打开失败: ' + e);\n    return false;\n  }\n}\n\nfunction cfTestChapter() {\n  try {\n    var url = 'https:\/\/www.biquge.tw\/book\/9002\/286409.html,' + cfOpt();\n    java.startBrowserAwait(url, '测试章节正文', false);\n    var ck = String(java.getCookie('https:\/\/www.biquge.tw\/', null));\n    java.log('biquge.tw Cookie: ' + ck);\n    return true;\n  } catch (e) {\n    java.log('测试章节打开失败: ' + e);\n    return false;\n  }\n}\n\nfunction cfClearCookie() {\n  try {\n    cookie.removeCookie('https:\/\/www.biquge.tw');\n    cookie.removeCookie('https:\/\/www.biquge.tw\/');\n    java.log('已清除 biquge.tw Cookie,请重新点击“打开CF认证”。');\n    return true;\n  } catch (e) {\n    java.log('清除 Cookie 失败: ' + e);\n    return false;\n  }\n}\n\nfunction cfShowCookie() {\n  try {\n    var ck = String(java.getCookie('https:\/\/www.biquge.tw\/', null));\n    java.log('biquge.tw Cookie: ' + ck);\n    return true;\n  } catch (e) {\n    java.log('读取 Cookie 失败: ' + e);\n    return false;\n  }\n}",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "@css:h2 > span > a@text",
        "coverUrl": "@css:div.cover > img@src",
        "intro": "@css:div.intro > p@text",
        "kind": "@css:a[href*=sort]@text&&h2@text##作者:[^\\s]+\\s*",
        "lastChapter": "@css:p:contains(最新章节) a@text",
        "name": "@css:h1@text",
        "tocUrl": "@css:a.chapterlist@href##$##,{\"webView\":true,\"headers\":{\"Referer\":\"https:\/\/www.biquge.tw\/\",\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\"},\"retry\":2}",
        "wordCount": "@css:h2@text##.*字数:([^\\s]+).*##$1"
    },
    "ruleContent": {
        "content": "<js>result<\/js>",
        "title": "@css:h1@text##(\\d+\\s*\/\\s*\\d+)",
        "webJs": "(function(){\n  function pick(){\n    var sels = ['#chaptercontent','#content','.chaptercontent','.chapter-content','.read-content','.read-content p','.content','article','main'];\n    for (var i=0;i<sels.length;i++){\n      var n=document.querySelector(sels[i]);\n      var t=n ? (n.innerText || n.textContent || '') : '';\n      t=String(t||'').replace(\/^\\s+|\\s+$\/g,'');\n      if(t.length>50) return t;\n    }\n    return '';\n  }\n  var s=pick();\n  if(!s && document.body){\n    s=String(document.body.innerText || document.body.textContent || '');\n  }\n  s=String(s||'');\n  if(\/Just a moment|Cloudflare|cf-browser-verification|cf-challenge|challenge-platform|Checking if the site connection is secure\/i.test(s)){\n    return '【WEBJS已执行】仍在Cloudflare验证页:请在书源登录里打开CF认证,认证后清除章节缓存。';\n  }\n  var titleNode=document.querySelector('h1');\n  var title=titleNode ? String(titleNode.innerText || titleNode.textContent || '') : '';\n  if(title){\n    var tp=s.indexOf(title);\n    if(tp>=0) s=s.substring(tp+title.length);\n  }\n  var p1=s.indexOf('上一章');\n  if(p1>=0){\n    var p2=s.indexOf('下一章',p1);\n    if(p2>=0) s=s.substring(p2+3);\n  }\n  var p3=s.indexOf('上一章');\n  if(p3>30) s=s.substring(0,p3);\n  s=s.replace(\/\\r\/g,'');\n  s=s.replace(\/\\n[ \\t\\u3000]+\/g,'\\n');\n  s=s.replace(\/[ \\t\\u3000]{2,}\/g,' ');\n  s=s.replace(\/^(\\s|目录|下一章|上一章)+\/g,'');\n  s=s.replace(\/请收藏本站[^\\n]*\/g,'');\n  s=s.replace(\/最新网址[^\\n]*\/g,'');\n  s=s.replace(\/手机用户请浏览[^\\n]*\/g,'');\n  s=s.replace(\/笔趣阁[^\\n]*最快更新[^\\n]*\/g,'');\n  s=s.replace(\/本章未完[^\\n]*\/g,'');\n  s=s.replace(\/本站所有小说[\\s\\S]*\/g,'');\n  s=s.replace(\/本站所有小說[\\s\\S]*\/g,'');\n  s=s.replace(\/Copyright[\\s\\S]*\/g,'');\n  s=s.replace(\/^\\s+|\\s+$\/g,'');\n  if(!s){\n    var html=document.documentElement ? String(document.documentElement.outerHTML||'') : '';\n    return '【WEBJS已执行但正文为空】页面标题=' + (document.title||'') + '\\nHTML长度=' + html.length + '\\nbody文本前300字=' + String((document.body && document.body.innerText)||'').substring(0,300);\n  }\n  return s;\n})()"
    },
    "ruleExplore": {
        "bookList": "@css:a[href~=^\/book\/[0-9]+\\.html$]:matchesOwn(.+),a[href~=^https?:\/\/(www\\.)?biquge\\.tw\/book\/[0-9]+\\.html$]:matchesOwn(.+)",
        "bookUrl": "@href##$##,{\"webView\":true,\"headers\":{\"Referer\":\"https:\/\/www.biquge.tw\/\",\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\"},\"retry\":2}",
        "name": "@text"
    },
    "ruleSearch": {
        "bookList": "@css:a[href~=^\/book\/[0-9]+\\.html$]:matchesOwn(.+),a[href~=^https?:\/\/(www\\.)?biquge\\.tw\/book\/[0-9]+\\.html$]:matchesOwn(.+)",
        "bookUrl": "@href##$##,{\"webView\":true,\"headers\":{\"Referer\":\"https:\/\/www.biquge.tw\/\",\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\"},\"retry\":2}",
        "checkKeyWord": "兽世",
        "name": "@text"
    },
    "ruleToc": {
        "chapterList": "@css:div.booklist ul > li > a",
        "chapterName": "@text",
        "chapterUrl": "@href##$##,{\"webView\":true,\"headers\":{\"Referer\":\"https:\/\/www.biquge.tw\/\",\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\"},\"retry\":2}"
    },
    "searchUrl": "\/search\/?page={{page}}&search={{key}}&searchkey={{key}}&sort=default",
    "weight": 0
}
广告