QQ浏览器-完整分类-v7

https://so.html5.qq.com/?legado_source=qqbrowser_categories_v7

hcj1014 (13990)06/20 21:20

v7 — 2026-06-20

  • 按 QQ 浏览器小说分类表重新整理发现页。

  • 发现页扩充至 22 个分类:

    • 男频:玄幻、都市、仙侠、奇幻、历史、军事、科幻、悬疑、游戏、武侠。

    • 女频:现代言情、古代言情、悬疑、仙侠奇缘、玄幻言情、浪漫青春、科幻空间、游戏竞技。

    • 其他:轻小说、现实、纯爱、短篇。

  • 书籍分类改为显示“主分类·子分类+标签”,不再显示内部资源 ID。

  • 修复第二页重复出现 QQ 浏览器聚合搜索结果的问题。

  • 验证全部 22 个分类接口及分页可用。

v6 — 2026-06-20

  • 合并两套搜索后端:

    • QQ 浏览器聚合搜索。

    • QQ 阅读正式书库搜索。

  • QQ 浏览器结果优先,随后追加 QQ 阅读结果。

  • 按“书名+作者”自动去重。

  • 保留不同后端各自对应的封面、详情链接和资源 ID。

二维码导入
{
    "bookSourceComment": "QQ 浏览器小说接口书源 v7;发现页按 QQ 浏览器分类表重排为 22 类,并补齐女频扩展、纯爱与短篇。搜索合并 QQ 浏览器和 QQ 阅读并自动去重。",
    "bookSourceGroup": "QQ浏览器",
    "bookSourceName": "QQ浏览器-完整分类-v7",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/so.html5.qq.com\/?legado_source=qqbrowser_categories_v7",
    "customOrder": 0,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"男频·玄幻\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1501&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·都市\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1505&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·仙侠\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1504&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·奇幻\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1502&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·历史\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1506&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·军事\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1507&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·科幻\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1509&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·悬疑\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1508&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·游戏\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1510&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"男频·武侠\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1503&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"轻小说\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1512&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"现实\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1499&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·现代言情\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1524&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·古代言情\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1523&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·悬疑\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1518&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·仙侠奇缘\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1517&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·玄幻言情\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1516&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·浪漫青春\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1522&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·科幻空间\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1519&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女频·游戏竞技\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1520&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"纯爱\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1707&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"短篇\",\"url\":\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/rank\/list?groupid=1515&start={{(page-1)*20}}&count=20&sub=\",\"style\":{\"layout_flexGrow\":1}}]",
    "header": "{\n  \"User-Agent\": \"Mozilla\/5.0 (Linux; U; Android 13; zh-cn; V2183A Build\/TP1A.220624.014) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/89.0.4389.72 MQQBrowser\/13.4 Mobile Safari\/537.36 COVC\/046223\",\n  \"Referer\": \"https:\/\/novel.html5.qq.com\/\",\n  \"Q-GUID\": \"0ee63838b72eb075f63e93ae0bc288cb\",\n  \"QIMEI36\": \"8ff310843a87a71101958f5610001e316a11\"\n}",
    "lastUpdateTime": "1781961659885",
    "respondTime": 1000,
    "ruleBookInfo": {
        "author": "$.author",
        "coverUrl": "$.picurl",
        "init": "$.data.bookInfo",
        "intro": "$.summary",
        "kind": "{{$.subject}}·{{$.subtype}}\n{{$.tag##\\|##、}}",
        "lastChapter": "$.lastSerialname",
        "name": "$.resourceName",
        "tocUrl": "https:\/\/novel.html5.qq.com\/qbread\/api\/book\/all-chapter?bookId={{$.resourceID}}",
        "wordCount": "$.contentsize"
    },
    "ruleContent": {
        "content": "@js:\n(function () {\n  var json = JSON.parse(String(result));\n  var blocks = json && json.data && json.data.Content;\n  if (blocks && blocks.length) {\n    var text = blocks[0].Content;\n    if (Array.isArray(text)) return text.join(\"\\n\");\n    return text == null ? \"\" : String(text);\n  }\n  return \"【QQ浏览器正文接口异常】\\n章节请求:\" + String(chapter.url) + \"\\n接口响应:\" + String(result);\n})()"
    },
    "ruleExplore": {
        "author": "$.author",
        "bookList": "$.rows[*]",
        "bookUrl": "https:\/\/novel.html5.qq.com\/qbread\/api\/novel\/bookInfo?resourceId={{$.resourceID}}",
        "coverUrl": "$.picurl",
        "intro": "$.summary",
        "kind": "{{$.subject}}·{{$.subtype}}\n{{$.tag##\\|##、}}",
        "lastChapter": "$.lastSerialname",
        "name": "$.resourceName",
        "wordCount": "$.contentsize"
    },
    "ruleSearch": {
        "author": "$.author",
        "bookList": "$.books[*]",
        "bookUrl": "$.bookUrl",
        "coverUrl": "$.coverUrl",
        "intro": "$.intro",
        "kind": "$.kind",
        "lastChapter": "$.lastChapter",
        "name": "$.name",
        "wordCount": "$.wordCount"
    },
    "ruleToc": {
        "chapterList": "$.rows[*]",
        "chapterName": "$.serialName",
        "chapterUrl": "$.serialID\n@js:\nvar matched = String(baseUrl).match(\/[?&]bookId=([^&#]+)\/);\nvar bookId = matched ? decodeURIComponent(matched[1]) : String(book.kind);\nvar data = JSON.stringify({\n  ContentAnchorBatch: [{\n    BookID: bookId,\n    ChapterSeqNo: [String(result)]\n  }],\n  Scene: \"chapter\"\n});\nvar option = {\n  method: \"POST\",\n  headers: {\n    \"Content-Type\": \"application\/json; charset=UTF-8\",\n    \"Referer\": \"https:\/\/novel.html5.qq.com\/\"\n  },\n  body: data,\n  retry: 2\n};\n\"https:\/\/novel.html5.qq.com\/be-api\/content\/ads-read,\" + JSON.stringify(option)"
    },
    "searchUrl": "https:\/\/so.html5.qq.com\/ajax\/real\/search_result?tabId=360&q={{key}},{\"bodyJs\":\"var browser = JSON.parse(String(result));\\nvar officialUrl = \\\"https:\/\/newopensearch.reader.qq.com\/wechat?keyword=\\\" + encodeURIComponent(String(key)) + \\\"&start=\\\" + ((page - 1) * 20) + \\\"&end=\\\" + (page * 20 - 1);\\nvar officialText = java.ajax(officialUrl);\\nvar official = {};\\ntry { official = JSON.parse(String(officialText)); } catch (e) { official = {}; }\\nvar books = [];\\nvar seen = {};\\nfunction addBook(item) {\\n  var mark = String(item.name || \\\"\\\").replace(\/\\\\s+\/g, \\\"\\\").toLowerCase() + \\\"|\\\" + String(item.author || \\\"\\\").replace(\/\\\\s+\/g, \\\"\\\").toLowerCase();\\n  if (!item.name || seen[mark]) return;\\n  seen[mark] = true;\\n  books.push(item);\\n}\\nfunction officialKind(raw) {\\n  var parts = String(raw || \\\"\\\").split(\\\",\\\");\\n  var names = [];\\n  var used = {};\\n  for (var n = 0; n < parts.length; n++) {\\n    var bits = parts[n].split(\\\":\\\");\\n    var label = bits.length > 1 ? bits[1] : \\\"\\\";\\n    if (label && label != \\\"小说\\\" && !used[label]) { used[label] = true; names.push(label); }\\n  }\\n  return names.join(\\\"·\\\");\\n}\\nvar states = page == 1 && browser && browser.data && browser.data.state ? browser.data.state : [];\\nfor (var i = 0; i < states.length; i++) {\\n  var items = states[i].items || [];\\n  for (var j = 0; j < items.length; j++) {\\n    var b = items[j];\\n    var resourceId = String(b.docId || \\\"\\\").replace(\/^.*_\/, \\\"\\\");\\n    addBook({name:b.title, author:b.author, coverUrl:b.cover_url, intro:b.abstract, kind:String(b.tag_views || \\\"\\\").replace(\/\\\\s+\/g, \\\"·\\\"), resourceId:resourceId, lastChapter:\\\"\\\", wordCount:\\\"\\\", bookUrl:\\\"https:\/\/novel.html5.qq.com\/qbread\/api\/novel\/bookInfo?resourceId=\\\" + resourceId, searchFrom:\\\"QQ浏览器\\\"});\\n  }\\n}\\nvar list = official && official.booklist ? official.booklist : [];\\nfor (var k = 0; k < list.length; k++) {\\n  var o = list[k];\\n  var bid = String(o.bid || \\\"0\\\");\\n  var resourceId2 = String(1100000000 + parseInt(bid, 10));\\n  var tail = parseInt(bid.slice(-3), 10);\\n  var dir = tail < 10 ? bid.slice(-1) : (tail < 100 ? bid.slice(-2) : bid.slice(-3));\\n  var cover = \\\"https:\/\/wfqqreader-1252317822.image.myqcloud.com\/cover\/\\\" + dir + \\\"\/\\\" + bid + \\\"\/b_\\\" + bid + \\\".jpg\\\";\\n  addBook({name:o.title, author:o.author, coverUrl:cover, intro:o.intro, kind:officialKind(o.categoryInfoV4), resourceId:resourceId2, lastChapter:o.updateInfo, wordCount:o.totalWords, bookUrl:\\\"https:\/\/bookshelf.html5.qq.com\/qbread\/api\/novel\/intro-info?bookid=\\\" + resourceId2, searchFrom:\\\"QQ阅读\\\"});\\n}\\nJSON.stringify({books:books})\"}",
    "weight": 0
}
广告