不過是為了完成所需而已學習罷了———js初步
一直想把知乎的收藏夾里面的內(nèi)容導入Kindle后閱讀,畢竟也不能浪費Kindle電子墨水啊,電腦屏幕實在是太傷眼了/攤手
之前在知乎上用了一下如何保存某位知乎用戶的所有答案?里面的軟件,并不好用,圖片會缺失,這讓沒有強迫癥的我也有點蛋疼,沒圖看個屁?。。?!/摔
最近實在有點閑,(其實事情挺多但是,拖延癥啊啊。。)在知友的啟示下,發(fā)現(xiàn)js也可以用來做這件事情,把網(wǎng)頁轉(zhuǎn)為簡單的html,然后通過Calibre轉(zhuǎn)為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的工廠函數(shù),比如$(".zu-edit-button").remove();也等于jQuery(".zu-edit-button").remove();
知友的這個是針對單個知乎問題寫的,也只能在問題的頁面用,比如這個整年都在旅行的人,經(jīng)濟來源是什么?
當然這是滿足不了我的,畢竟收藏夾才是真諦啊?。?br> 可是我們發(fā)現(xiàn)收藏夾里是有個 "顯示全部" ,當然只需要找出鏈接點擊就行
javascript: void((function() {
var exp = document.getElementsByClassName('zh-summary summary clearfix');
for (var i in exp) {
exp[i].click();
}
})())
其實這里是點擊一片區(qū)域而不是那個鏈接,為什么不直接點擊呢?因為。。。
之后只要找到回答部分,利用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出世了
效果對比圖

之前
轉(zhuǎn)換完之后就可以通過Calibre轉(zhuǎn)換了,效果還不錯,也不會缺圖
優(yōu)點:簡單,簡單,很簡單
缺點:總感覺很蠢的樣子,只能一個個轉(zhuǎn)換
最后當然你要把他們放到收藏夾方便使用