天空书屋(m.tkshuw.com)

https://m.tkshuw.com

laizhiyu (6509)1天前

天空书屋 m.tkshuw.com(移动版)书源

【站点结构】
· 搜索:GET /search.html?nf=关键词(页面表单虽写 method=post name=s,但 POST 返回 404;必须 GET nf)
· 搜索无分页,单页最多 100 条;无结果输出「没有关于(xxx)的内容」
· 详情:/nf_{id}/ 与 /nf_{id}.html 均可,内容一致
· 目录:/nf_{id}/all.html 全量单页(实测 4058 章仍单页,无分页)
· 正文:/nf_{id}/{章节序号}.html,章内分页为 {序号}_2.html、{序号}_3.html…
· pb_next 在「章内最后一页」指向下一章、在「全书最后一章」指向详情页,
  故 nextContentUrl 用 JS 只接受「数字_数字.html」形态,避免串章/把详情页当正文。
· 目录里存在「无效章节,已被删除」的空章节,正文页为「章节内容加载失败」,属站点自身数据问题。

【风控】
· Cloudflare 前置(DYNAMIC,无 JS 挑战);搜索为服务端检索,响应 1~3s。
· concurrentRate=1/1500:全站每 1.5 秒最多 1 次请求,既压低搜索频率也保护正文抓取。
  想更快阅读可改 1/800;想更保守可改 1/3000。切勿用脚本高频试探搜索接口。

【登录】
· 移动站无登录/注册入口(login.html、user/ 均 404),搜索/详情/目录/正文全部免登录。
· 未写登录 UI,loginCheckJs 留空。

【UA】
· header 固定 Android Chrome 移动 UA + Referer;桌面 UA 也能取到同样结构,但本站为 m 站,移动 UA 更贴近真实访问。
二维码导入
{
    "bookSourceComment": "天空书屋 m.tkshuw.com(移动版)书源\n\n【站点结构】\n· 搜索:GET \/search.html?nf=关键词(页面表单虽写 method=post name=s,但 POST 返回 404;必须 GET nf)\n· 搜索无分页,单页最多 100 条;无结果输出「没有关于(xxx)的内容」\n· 详情:\/nf_{id}\/ 与 \/nf_{id}.html 均可,内容一致\n· 目录:\/nf_{id}\/all.html 全量单页(实测 4058 章仍单页,无分页)\n· 正文:\/nf_{id}\/{章节序号}.html,章内分页为 {序号}_2.html、{序号}_3.html…\n· pb_next 在「章内最后一页」指向下一章、在「全书最后一章」指向详情页,\n  故 nextContentUrl 用 JS 只接受「数字_数字.html」形态,避免串章\/把详情页当正文。\n· 目录里存在「无效章节,已被删除」的空章节,正文页为「章节内容加载失败」,属站点自身数据问题。\n\n【风控】\n· Cloudflare 前置(DYNAMIC,无 JS 挑战);搜索为服务端检索,响应 1~3s。\n· concurrentRate=1\/1500:全站每 1.5 秒最多 1 次请求,既压低搜索频率也保护正文抓取。\n  想更快阅读可改 1\/800;想更保守可改 1\/3000。切勿用脚本高频试探搜索接口。\n\n【登录】\n· 移动站无登录\/注册入口(login.html、user\/ 均 404),搜索\/详情\/目录\/正文全部免登录。\n· 未写登录 UI,loginCheckJs 留空。\n\n【UA】\n· header 固定 Android Chrome 移动 UA + Referer;桌面 UA 也能取到同样结构,但本站为 m 站,移动 UA 更贴近真实访问。",
    "bookSourceGroup": "AI",
    "bookSourceName": "天空书屋(m.tkshuw.com)",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/m.tkshuw.com",
    "bookUrlPattern": "https?:\/\/(?:m|www)\\.tkshuw\\.com\/nf_\\d+(?:\/|\\.html)?$",
    "concurrentRate": "1\/1500",
    "customButton": false,
    "customOrder": 0,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "eventListener": false,
    "exploreUrl": "[{\"title\":\"🔥最近更新\",\"url\":\"https:\/\/m.tkshuw.com\/hots.html\"},{\"title\":\"🏠首页推荐\",\"url\":\"https:\/\/m.tkshuw.com\/\"},{\"title\":\"仙侠\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/20_0_0_0\/?page={{page}}\"},{\"title\":\"都市\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/21_0_0_0\/?page={{page}}\"},{\"title\":\"历史\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/22_0_0_0\/?page={{page}}\"},{\"title\":\"言情\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/23_0_0_0\/?page={{page}}\"},{\"title\":\"网游\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/24_0_0_0\/?page={{page}}\"},{\"title\":\"科幻\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/25_0_0_0\/?page={{page}}\"},{\"title\":\"武侠\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/26_0_0_0\/?page={{page}}\"},{\"title\":\"侦探\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/62_0_0_0\/?page={{page}}\"},{\"title\":\"校园\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/64_0_0_0\/?page={{page}}\"},{\"title\":\"综合\",\"url\":\"https:\/\/m.tkshuw.com\/sort\/72_0_0_0\/?page={{page}}\"}]",
    "header": "{\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; SM-G991B) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.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:\/\/m.tkshuw.com\/\"}",
    "lastUpdateTime": "1792638651891",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "meta[property=\"og:novel:author\"]@content||div.synopsisArea_detail p.0@text##^作者:",
        "coverUrl": "meta[property=\"og:image\"]@content||div.synopsisArea_detail img@data-src",
        "intro": "meta[name=\"description\"]@content||p.review@text##^《[^》]*》简介:?",
        "kind": "meta[property=\"og:novel:category\"]@content||div.synopsisArea_detail p.1@text##^类别:",
        "lastChapter": "meta[property=\"og:novel:latest_chapter_name\"]@content||p.lastchapters a@text",
        "name": "meta[property=\"og:novel:book_name\"]@content||header h1.title@text",
        "tocUrl": "p.btn a[href*=\"all.html\"]@href"
    },
    "ruleContent": {
        "content": "#htmlContent@html",
        "nextContentUrl": "@js:var h=String(result||\"\");var m=h.match(\/id=\"pb_next\"[^>]*href=\"([^\"]+)\"\/);var u=(m&&\/^\\d+_\\d+\\.html$\/.test(m[1]))?m[1]:\"\";u?u:null"
    },
    "ruleExplore": {
        "author": "@js:var t=result.text();var i=t.lastIndexOf('\/');i<0?null:t.substring(i+1).trim()",
        "bookList": "div.s_list",
        "bookUrl": "a@href",
        "coverUrl": "a@href##\/nf_(\\d+)\/.*##https:\/\/www.tkshuw.com\/image\/nf_$1.jpg",
        "kind": "@js:var t=result.text();var m=t.match(\/^\\s*\\[([^\\]]*)\\]\/);m?m[1]:null",
        "lastChapter": "a@title##^最新章节:",
        "name": "a@text"
    },
    "ruleSearch": {
        "author": "@js:var t=result.text();var i=t.lastIndexOf('\/');i<0?null:t.substring(i+1).trim()",
        "bookList": "div.wrap-box div.s_list",
        "bookUrl": "a@href",
        "coverUrl": "a@href##\/nf_(\\d+)\/.*##https:\/\/www.tkshuw.com\/image\/nf_$1.jpg",
        "kind": "@js:var t=result.text();var m=t.match(\/^\\s*\\[([^\\]]*)\\]\/);m?m[1]:null",
        "lastChapter": "a@title##^最新章节:",
        "name": "a@text"
    },
    "ruleToc": {
        "chapterList": "div.directoryArea p",
        "chapterName": "a@text",
        "chapterUrl": "a@href"
    },
    "searchUrl": "https:\/\/m.tkshuw.com\/search.html?nf={{key}}",
    "weight": 0
}
广告