#1 - 2025-11-22 20:05
感觉统合失调 (Tell me I'm a bad man, kick me like a stray)
Greasy Fork
Greasy Fork 镜像站

在各大引进出版社网站书籍详情页增加“复制版本”按钮,复制适用于班固米维基的版本。例如,在 https://www.tongli.com.tw/BooksDetail.aspx?BD=JC1146020 可获得:
|版本:东立版={
[版本名|鏈鋸人 第20集]
[别名|]
[语言|繁体中文]
[价格|NT$110]
[出品方|]
[出版社|東立出版社]
[发售日|2025-09-25]
[页数|]
[ISBN|9786260249410]
[译者|吳勵誠]
}

支持的网站(示例网址):
- 东立https://www.tongli.com.tw/BooksDetail.aspx?Bd=JC1146001
- 长鸿https://www.egmanga.com.tw/products/ch0735),有受限条目需要登录查看
- 台湾东贩https://www.tohan.com.tw/product ... cid=150&id=6658),有受限条目需要登录查看
- 台湾角川https://www.kadokawa.com.tw/products/9786264356435),不要使用系列商品页面,虽然价格会随选择的单行本变化,但 ISBN 不会变
- 青文https://www.ching-win.com.tw/product-detail/10510315A
- 尖端https://www.spp.com.tw/SalePage/Index/11300169
- 玉皇朝https://jd-intl.com/product/%e9% ... e6%9c%9f-%e5%ae%8c/

由于大陆出版商多没有信息详尽的官网,且第三方可能有更详尽的信息,同样支持下面的第三方网站,使用时请注意信息是否准确,且留意商品介绍图片里往往有更完整的信息:
- 豆瓣(https://book.douban.com/subject/36799715/
- 当当(https://product.dangdang.com/29886912.html
- 京东(https://item.jd.com/14397392.html
- 天猫(https://detail.tmall.com/item.htm?abbucket=7&id=952735079569
- PDC(https://pdc.capub.cn/search.html ... from=1&type=cip
- 金石堂(https://www.kingstone.com.tw/basic/2019461217771
- 博客來(https://www.books.com.tw/products/0010994716?sloc=main
- 新絲路(https://www.silkbook.com/book_detail.asp?goods_ser=kk0603915
- anobii(https://www.anobii.com/zh-Hant/b ... /015e6394ff2f568487
- 三民(https://www.sanmin.com.tw/product/index/003693167

可以参照代码中的 config 自行添加网站,方便的话也可以让我加入发布的版本里。

提供了接口 getBgmVersion(url) 便于科技维基人写爬虫,无法处理需登录的受限条目。例如,从 https://www.ching-win.com.tw/sea ... 2%E4%B9%8B%E8%8A%B1 获取青文版青之花的全套信息,可以使用以下代码:
Promise.all([...document.querySelectorAll('.productBox a.title')].map(a => getBgmVersion(a.href))).then(console.log);

https://www.tongli.com.tw/BooksDetail.aspx?Bd=JC1199008 获取东立版九龙大众浪漫的全套信息:
Promise.all([...document.querySelectorAll('.owl-item a')].map(a => getBgmVersion(a.href))).then(console.log);

https://jd-intl.com/?s=%E9%9D%92 ... p;post_type=product 获得玉皇朝版青之芦苇的全套信息(数量较大请 AI 写一个防 ban):
// 核心:分批执行,限制并发数
const batchRequest = async (urls, concurrency = 3) => {
  const results = [];
  // 分批循环:每次取 concurrency 个 URL
  for (let i = 0; i < urls.length; i += concurrency) {
    const batchUrls = urls.slice(i, i + concurrency);
    // 一批内并行请求,等待全部完成再下一批
    const batchResults = await Promise.allSettled(
      batchUrls.map(url => getBgmVersion(url).catch(err => ({ error: err.message, url })))
    );
    results.push(...batchResults);
    // 可选:每批请求后延迟 1-2 秒,进一步降低反爬风险
    await new Promise(resolve => setTimeout(resolve, 1000));
  }
  // 过滤成功结果并返回(顺序与原始 URL 一致)
  return results.filter(r => r.status === 'fulfilled').map(r => r.value);
};

// 执行逻辑(一行提取 URL + 分批请求)
batchRequest([...document.querySelectorAll('.woocommerce-LoopProduct-link')].map(a => a.href.trim()).filter(Boolean))
  .then(successResults => console.log('成功结果:', successResults))
  .catch(err => console.error('批量请求失败:', err));


从班固米获取倒序单行本 ID 列表:
copy([...document.querySelector('.browserCoverMedium:nth-of-type(1)').querySelectorAll('li a')].map(a => a.href.split('/').pop()).toReversed().join('\n'))
#2 - 2025-12-1 13:54
(Tell me I'm a bad man, kick me like a stray)
更新了增加简繁转换后的别名,适配了新版长鸿官网。
如果访问 jsdelivr 有问题,可以替换为 cdn.jsdmirror.com。
#3 - 2025-12-2 10:09
(不加好友,谢谢。)
(bgm88)試用了一下非常好
#4 - 2025-12-2 19:30
(25年小结→bgm.tv/blog/366790)
豆瓣十个有三个是错的(bgm38)
每本书基本上我都是结合pdc+微博宣传图+孔夫子旧书网实物照片在搞

ps. 台湾的书博客来和金石堂的信息有时候比官网的准,缺点是旧书都删了,要去新丝路
#5 - 2025-12-8 00:46
(目标是淡出wiki)
很好用,感谢