因为小册她不能进入被窝(下载到本地),所以不喜欢看亮晶晶的屏幕的我就很伤,网上的方案基本也是过时的果实,作废的作废,难道大家的眼睛都这么好?就不能就跟选妃一样, 让小册住进kindle或者任意的地方?那么作为付费用户的爸爸们,在自己家,以学习技术为目的,自己用一下应该不算违规违法吧?咱也不太懂,就声明一个侵删好了。
步骤1,给PDF的名份,从第一章开始
找到小册的第一个章节内容,然后配合上强大无比的F12键(不明白什么是浏览器F12的请自觉出去),来到控制台(console)标签上,然后执行:
// 隐藏小册头部
$('.book-content__header').style.display='none';
// 隐藏头像区域
// $('.nav-item.menu').style.display='none';
// 修正头部间距
$('.book-body').style['padding-top']='0px';
// 隐藏左边灰色边
$('.book-summary').style.display='none';
// 更改背景颜色
// $('.section-content').style['background-color']='#ffffff';
// 隐藏当前章节大纲
$('.toggle.fold').style.display='none';
// 隐藏章节按钮
$('.toggle-btn').style.display='none';
// 隐藏章节切换按钮
$('.container.direction').style.display='none';
// 隐藏评论
$('.book-comments').style.display='none';
嗯~,有点真正小册的样子了,这里就需要把她抬进被窝里了(存储成pdf文件),直接一个Ctrl+P,打印机选择“另存为PDF”,其他保持默认即可(除非你有其他的特殊需求,请随意)。
保存之后,当前章节就是你的人了,让我们继续 ↓
步骤2,开始进入正题,也可能是噩梦的循环
在控制台中输入
// 切换到下一章
$('.container.direction .next-btn').click();
等待页面加载完成(正常显示且浏览器的刷新按钮正常使用),你会发现野蛮中还是已出现了章节切换和评论,没关系,收服这个很easy(动态渲染逻辑的锅),我们就直接赏她一丈红(在控制台中执行下面的代码)↓
步骤3,修理矫情的皮囊,让一切对齐
// 隐藏章节切换按钮
$('.container.direction').style.display='none';
// 隐藏评论
$('.book-comments').style.display='none';
// 隐藏代码调试器
const editor = document.querySelectorAll('span.code-editor-container')
editor.forEach(item=>{item.style.display='none'})
好了,这一章节也可以看得很舒服了,那么依旧是春宵难渡的Ctrl+P,想想给抬进被窝的她(pdf文件)起个可以排起来的封号(不要乱序)就好了。
把上面的步骤2和步骤3重复执行到小册的最后一章,结束这次的资产转移。现在存好的PDF的个数非常多,非常影响我们的流畅阅读,所以我们准备再次加工一下,鉴于不同武侠习惯用不同的PDF合并软件,这里付费的和额外自造的就先不说了,可以百度一下。我找到一个更好玩的方式 ↓
话外篇,江山一统,国泰民安
作为Windows帝国的一员,帝国新晋名将“Power Automate”简直就和隔壁果儿家的快捷指令一样的功能强大,那么让我们在开始菜单中输入召唤语:power automate,将他请进家门(不出意外,你要经历更新,登录,新手指引。。。。)
- Power Automate准备就绪后,打开他的心扉,在脸上猛击“新建流”,给起个名份,左侧操作列,找到PDF层叠菜单,展开
- 双击“合并PDF文件”,选择上面抬进被窝的各小册章节们(保存的PDF文件),在“合并的PDF路径”中选择一个位置,并也给一个名份(合并后的文件名,需要手动填写文件名);
- 点一下“保存”,回到“子流程”程列表,右击“合并PDF文件”,选择“从此处运行”(或者保证只有一条指令的情况下直接点上面的播放按钮)
- 取对应位置领取你心爱的小册儿吧,祝愉快~
附录,运行环境
- Windows 11
- Microsoft Edge
- 掘金小册 (juejin.cn)
附录,写在最后
个人理解小册如果是电子书的话,购买了她的阅读权就在消费者手里了,只要不去复制,不去产生商业行为,不会构成侵权。不过这个也是验证可行性的文章,也有很大的可能会直接被封禁掉(瑟瑟发抖)。文章之外,如果有人做成批量自动化脚本,与我无关,谢谢。
附录,真的是最后了
个人感觉这种直接打印的方式,技术上防守可行性是不是小很多,但可以在页面上输出水印啥的,不过只要是交付给前端渲染的数据,进攻办法总比防守多。挠头。