👍 艾米
https://www.amxsw.com#grid tr!0
采集机器人 (2)2023/04/01
数据采集
{ "bookSourceComment": "coolapk@芜恙;wordCount", "bookSourceGroup": "👍 优选", "bookSourceName": "👍 艾米", "bookSourceType": 0, "bookSourceUrl": "https:\/\/www.amxsw.com#grid tr!0", "bookUrlPattern": "https:\/\/www.amxsw.com\/book\/\\d+\/", "customOrder": 0, "enabled": true, "enabledExplore": false, "exploreUrl": "", "header": "", "lastUpdateTime": 0, "loginUrl": "", "ruleBookInfo": { "author": "author", "coverUrl": "cover", "init": "<js> \nvar J = org.jsoup.Jsoup.parse(result);\nvar o = selector => String(J.select(selector).text()) ;\nvar og = selector => String(J.select('[property=\"og:' + selector + '\"]').attr('content'));\nvar book = {\n\tname: og('novel:book_name').replace(\/(全文|小说|免费阅读|最新章节).*|[((].*[))]\/g, ''),\n\tauthor: og('novel:author'),\n\tkind: og('novel:category') + ',' + og('novel:status').replace(\/中|已\/, ''),\n\tlatest: og('novel:lastest_chapter_name').replace(\/^(正文|VIP章节|最新章节)?(\\s+|_)|[\\((【].*[求更谢乐发推].*\/g, '') + ' • ' + og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-'),\n\tintro: ' 最近更新:' + og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-') + '\\n' + og('description').replace(\/.*(观看小说|简介)[::]|各位书友.*\/g, '').replace(\/\\s+\/g, '\\n'),\n\tcover: og('image'),\n\turl: og('novel:read_url'),\n};\nbook;\n<\/js>", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "tocUrl": "url", "wordCount": "" }, "ruleContent": { "content": "#articlecontent p@html", "nextContentUrl": "text.下一页@href", "replaceRegex": "##\\s*.*amxsw.*\\s*", "sourceRegex": "", "webJs": "" }, "ruleExplore": { "author": "", "bookList": "", "bookUrl": "", "coverUrl": "", "intro": "", "kind": "", "lastChapter": "", "name": "", "wordCount": "" }, "ruleSearch": { "author": "author", "bookList": ".grid tr!0\n<js>\nresult.toArray().slice(0, 3).map(el => {\n\tvar url = String(el.select('a:eq(0)').attr('href')).replace(\/^\\\/\/, baseUrl.match(\/(.+?\\\/\\\/[^\\\/]+\\\/)\/)[1]);\n\tvar J = org.jsoup.Jsoup.parse(java.ajax(url));\n\tvar o = selector => String(J.select(selector).text());\n\tvar og = selector => String(J.select('[property=\"og:' + selector + '\"]').attr('content'));\n\treturn {\n\t\tname: og('novel:book_name').replace(\/(全文|小说|免费阅读|最新章节).*|[((].*[))]\/g, ''),\n\t\tauthor: og('novel:author'),\n\t\tkind: og('novel:category') + ',' + og('novel:status').replace(\/中|已\/, ''),\n\t\tlatest: og('novel:lastest_chapter_name').replace(\/^(正文|VIP章节|最新章节)?(\\s+|_)|[\\((【].*[求更谢乐发推].*\/g, '') + ' • ' + og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-'),\n\t\tintro: og('description').replace(\/.*(观看小说|简介)[::]|各位书友.*\/g, '').replace(\/\\s+\/g, ''),\n\t\tcover: og('image'),\n\t\turl: url,\n\t};\n}); \n<\/js>", "bookUrl": "url", "coverUrl": "cover", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "wordCount": "" }, "ruleToc": { "chapterList": ".ml_list li a", "chapterName": "text##^(正文|VIP章节|最新章节)?(\\s+|_)|[\\((【].*[求更谢乐发推].*", "chapterUrl": "href", "isVip": "", "nextTocUrl": "", "updateTime": "" }, "searchUrl": "\/search\/,{\n \"method\": \"POST\",\n \"body\": \"searchkey={{key}}\"\n}", "weight": 0 }