不过是为了完成所需而已学习罢了———js初步
一直想把知乎的收藏夹里面的内容导入Kindle后阅读,毕竟也不能浪费Kindle电子墨水啊,电脑屏幕实在是太伤眼了/摊手
之前在知乎上用了一下如何保存某位知乎用户的所有答案?里面的软件,并不好用,图片会缺失,这让没有强迫症的我也有点蛋疼,没图看个屁啊!!!/摔
最近实在有点闲,(其实事情挺多但是,拖延症啊啊。。)在知友的启示下,发现js也可以用来做这件事情,把网页转为简单的html,然后通过Calibre转为epub、mobi 等格式放在Kindle上阅读,效果还不错。
javascript: void((function() { $(".zu-edit-button").remove(); var list = $(".zm-editable-content"); var k, strs = []; document.write("<h3>" + document.title.substr(0, document.title.length - 4) + "</h3>"); for (k = 1; k < list.length; k++) { if ("" == list[k].innerHTML) continue; document.write(list[k].innerHTML + "<hr />"); }})())
这里面对于我这种新手来说还是很有意义的,$符号其实是一个function,jQuery的工厂函数,比如$(".zu-edit-button").remove();
也等于jQuery(".zu-edit-button").remove();
知友的这个是针对单个知乎问题写的,也只能在问题的页面用,比如这个整年都在旅行的人,经济来源是什么?
当然这是满足不了我的,毕竟收藏夹才是真谛啊!!
可是我们发现收藏夹里是有个 "显示全部" ,当然只需要找出链接点击就行
javascript: void((function() { var exp = document.getElementsByClassName('zh-summary summary clearfix'); for (var i in exp) { exp[i].click(); }})())
其实这里是点击一片区域而不是那个链接,为什么不直接点击呢?因为。。。
之后只要找到回答部分,利用js剥离出来就行了
javascript: void((function() { titletemp = $("#zh-fav-head-title")[0].innerText + $('div.zm-invite-pager span.zg-gray-normal').eq(-1)[0].innerText + ' - %E7%9F%A5%E4%B9%8E'; var list = $('.zm-item-rich-text.expandable.js-collapse-body'); title = $('H2.zm-item-title:not(.zm-editable-content)'); var k, strs = []; for (k = 0; k < list.length; k++) { if ("" == list[k].firstElementChild.innerHTML) continue; document.write("<h2>" + title[k].innerText + "</h2>" + list[k].firstElementChild.innerHTML + "<hr />") } document.title = titletemp;})())
目前为止,一个简洁的html出世了
效果对比图

之前

转换完之后就可以通过Calibre转换了,效果还不错,也不会缺图
优点:简单,简单,很简单
缺点:总感觉很蠢的样子,只能一个个转换

最后当然你要把他们放到收藏夹方便使用

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。