怎樣將知乎收藏夾里的答案快速轉入到 Evernote 中?
知乎收藏夾里累計有500多條答案了……覺得還是轉到evernote里安全點……
我一條一條轉的,感覺evernote國際版網速比較慢(而印象筆記又不支持瀏覽器插件)。能不能批量轉?同樣的疑問,不過我用的是為知筆記,如果是為知筆記該怎麼辦呢?
首先,秀一把在下所寫[1]的瀏覽器腳本——
自 2.0 開始,正式發布 Chrome 擴展,可前往 Chrome Web Store - iZhihu 直接下載安裝
可在以下瀏覽器中作為 UserScript 運行:- Firefox(建議使用擴展:Greasemonkey :: Add-ons for Firefox)
- Chrome(建議使用擴展:Tampermonkey for Chrome)
// Safari 可用 NinjaKit 擴展,只是未詳加測試……
然後,我們還需要一個支持批量添加任務的離線下載工具。比如 Windows 上的——
VisualWget(Wget圖形版下載工具)V2.4(下載後是壓縮包,我已經試過了,放心解壓吧,使用時直接運行裡面那個 VisualWget 應用程序就是了。)以及 Mac 上的——HexCat - DeepVacuum
(另一個下載地址:Download DeepVacuum for Mac)當然,其他下載工具也可以用,比如迅雷以及等等……閑話少敘,iZhihu v1.10 新增特性——
1.打開任一收藏夾(可以是自己的,也可以是別人的):2.比沒有使用 iZhihu 腳本時多了個「地址清單」哈——戳它,之後頁面會彈出對話框,並顯示獲取進度,請耐心等候。如果使用的是 2.9 版本,界面應如下圖所示:接下來的任務,就要交給離線下載工具了——
如果你用的是 VisualWget,應該會見到了一個像這樣的主窗口:下載菜單 -&> 新建批量任務:現在,就可以把之前我們通過 iZhihu 獲得的「地址清單」文件內容全部粘貼進去,一個也不剩哦~
這裡要插一句——從知乎上抓取下來的網頁文件,是只有 ID 編號而沒有任何後綴的,要給它自動加上 .html 後綴的設置方法:工具 - 默認下載設置 - 高級 - HTTP - 選上「--html-extension」。(感謝 @邱凱達 )這裡還要插一句(感謝 @歐陽 的提醒)——目前 VisualWget 一次「新建批量任務下載」的數量限制是 586 條 -_- 如果清單長度超過這個數字的話,除了手動分批添加任務的方法之外,我們還可以使用高級選項直接設置任務從本地文件導入地址進行下載,具體做法見下圖(「新建單任務」並將第一頁的「下載地址」留空即可):如此這般之後,VisualWget 的任務列表中就只會出現一條記錄,不過它會老老實實地按照指定文件中包含的地址(按行)下載網頁們。如果你正在 Mac 上使用 DeepVacuum,我猜畫面應該會是這個樣子:
// 直接選擇已保存於本地的文件讀取下載鏈接——好體貼有木有!!!(果粉咆哮亂入,請無視之)
對於備份知乎回答,在「Presets」中選擇「Single File (Resumable)」就行了。順利的話,一切應如此這般進行:// 我愛 Mac ^^最後,就只剩一步鳥——
如何將 HTML 本地文件批量導入 Evernote?// 鏈接太多,鏡像於此首先,將需要導入的 HTML 文件放入某個文件夾,如:「C:下載zhihu_bak」。
然後,在 Evernote 桌面應用中:
- 「菜單 - 工具 - 導入文件夾...」
- 「添加」並選擇「C:下載zhihu_bak」
此時,每個 HTML 文件(完整頁面)便會依次以獨立的筆記內容被導入 Evernote
// 因知乎頁面的自然限制,此法尚有一缺陷——回答內包含的圖片將僅以縮略圖導入筆記
【注】[1] 目前此項目由本人及 @天豬(劉勇)、@yukirock 共同維護。[2] 感謝 @鄧文博 為 iZhihu 製作圖標。剛寫了一段小的腳本,算是向目標踏個一小步吧。http://userscripts.org/scripts/show/157289
- 在收藏夾頁面添加了一個「列出全部」按鈕。
- 點擊後會載入收藏夾的全部內容,並全部展開。
- 展開後就可以用你的evernote插件或wiz插件保存下來了。
- 註:受限於網速,需耐心等待,可以打開控制台看看。
- 注2:臨時腳本,等待@鋼盅郭子的整合,把自動保存到evernote的那段也整合進來。
看了上面很多答案、都未能達到自動或者批量轉。
排名第一位的@鋼盅郭子的辦法,雖然可行、但是卻需要自己手動一步一步的操作,而且需要用第三方下載工具。然後我就一直等待,希望有那位程序猿哥哥寫個代碼自動化實現、未能如願、我就自己操刀了。===============================================2014.10.31更新
@Bobo提到希望能把知乎收藏保存到為知筆記所以今天看了一下為知筆記;本質上來說為知筆記和印象筆記一樣的處理方式;就是為每一個用戶創建一個用於接收郵件的郵件帳戶;用戶只需要往這個特定的郵件帳戶發送郵件即可保存到筆記裡面;所以代碼上面修改的不多;也很簡單。下載地址:https://github.com/huaisha1224/ZhihuToNote
=============================================2014.09.10更新之前的知乎收藏轉印象筆記/Evernote使用Python寫得;而且沒有打包成exe;所以很多朋友說很麻煩;最近剛好在學習Go語言;所以這次用Go語言重新寫了一下;並且直接編譯成exe文件了;使用說明- 1. 修改config.ini配置文件的內容;
- 2. 填寫發送郵件地址和host以及賬號密碼
- 3. 填寫你的Evernote/印象筆記郵件賬號地址
- 4. 填寫你在Evernote/印象筆記中的筆記本
- 5. 將ZhihuToEvernote.exe和config.ini放在同一個目錄下
- 6. 然後運行ZhihuToEvernote.exe
===============================================
2014.03.03更新 看到@Norsie系誒評論裡面希望能添加吧"我關注的問題"也能發送到Evernote印象筆記中的功能。就研究了一下剛剛開始遇到點困難、後來在Python-cn郵件組的提點之前完成了這個功能。- 1、由於在獲取"我關注的問題"的時需要先登錄知乎網站、才能得到這個列表、所以增加了一個login.py得而模塊。
- 2、相應的config.ini裡面添加了2項內容、也就是知乎的賬號密碼、如果需要發送"我關注的問題"列表請填寫。否則請填寫"no"
- 3、當你填寫了知乎賬號密碼之後會發"我關注的問題"、知乎收藏的url被無視
=========================================================
2013.12.17更新很久沒上知乎,發現不少朋友留言問轉髮腳本的問題。昨天測試的發現知乎頁面改版,導致之前的腳本已經完全失效,所以兩天重新把代碼寫了一下。1、修正知乎頁面改版導致腳本失效的BUG2、修正之前版本中不能發送超過20條收藏文章的BUG目前測試都是正常的、如果有朋友在使用過程中有任何疑問請和我聯繫。代碼地址:huaisha1224/zhihu_to_evernote · GitHub首先說下我的實現想法
1、通過正則表達式吧知乎收藏頁面裡面所有關於問答的URL提取出來2、吧這些單個問答頁面下載下來3、發送郵件到Evernote/印象筆記中(此方法得益於evernote/印象筆記可以通過郵件附件的方式添加筆記內容)然後今天我把代碼完成了。
我就不寫代碼怎麼做的了、代碼我放到Github上了可以直接的https://github.com/huaisha1224/zhihu_to_evernote下載代碼。下載config.ini和zhihu_to_evernote.py文件、然後編輯config.ini文件
1、按照說明填寫完整的內容。切記notebook的內容需要你先在Evernote/印象筆記上有這麼一條筆記本才行2、執行 python zhihu_to_evernote.py 即可由於Linux Mac Windows都支持Python所以此方法是有知友都可行.=================================================方法一:
1.把收藏夾翻頁到底,然後全部選擇"顯示全部",把所有答案展開後,複製,粘貼為純文本.2.用"商轅TXT切割合併器" 以 "取消收藏"字元為標記.來切割文本3.evernote ,工具裡面批量導入即可.(以上方法缺點是導入後所有筆記名稱為取消收藏,可以在2.3步驟之間把切割後的文本放在一個文件夾裡面,用search and replace把所有的"取消收藏"刪除)(個別帶圖答案請手動整理)方法二:
可以使用Hamsin Clipboard,可以連續複製10條.然後在evernote中粘貼10次,它可以幫你一次粘貼剛才複製的10條.----------------------------
以下是廢話:個人使用有道筆記,手機端免費的離線查看.雖然沒有evernote批量導入功能,但有道可以導入evernote,所以隨便evernote有什麼功能有道都不怕.吼吼!!
互聯網時代,信息爆炸,很多人都有收藏癖,覺得收藏起來慢慢看,怕過幾天和諧了,怕以後忘了,可是硬碟越來越大,越來越滿,可資料收藏了真正翻看有多少時候?反正我自己,就連收藏的x-art動作片都沒看幾遍。
個人現在非常警惕現代技術,當然你是搞it的,你可以業餘時間寫個小程序一鍵把收藏從網上抓下來.但如果只是為了收集這個,耽誤太多時間去找所謂的簡便方法來收集,反而耽誤了正事.
其實,完全可以自己一條一條的打一遍,1.可以逼迫你剔除那些不必要的收藏 2.再讀一遍 3.自己概括,精鍊個人覺得,知識管理,盡量少的收錄,做減法.畢竟最後到你腦子裡的才是自己的東西.一個比較笨的辦法,用自動操作的軟體。(如HotKeyApp,或者按鍵精靈)找到你操作動作的規律和重複節點,然後編輯和輸入到軟體中,閑的時候讓電腦自己運行一段時間即可。保存這個動作下次再用。
前幾天看到這個問題,花了一天時間做了個Ruby腳本,寫了個blog,儘管沒有完全實現題主的要求,但思考再三後還是發上來了,大家交流一下~
博客地址: 用Ruby抓取知乎某個收藏夾的所有文章
正文如下:---------------------------------------------------起源
我最近在看 七周七語言 (豆瓣),裡面提到了Ruby。看完以後有一種「手握鎚子看什麼都是釘子」的感覺,恰好有導出知乎收藏夾文章的需求,於是打算用Ruby實現之。
尋找API
面對這個需求,根據自己的經驗(以前用AHK干過不少類似的事情),首先想到的是用腳本模擬頁面點擊展開收藏夾或者載入下一頁,再整個htmldownload下來,然後用正則表達式,或者用DOM來提取正文。這個思路是可以的,但是有點笨,最好是直接通過知乎的api獲取收藏夾的內容,這樣在速度和解析效率上都會有比較好的表現。
那麼,接下來的問題是,怎麼樣找這個api?
打開Chrome,打開新窗口,點擊菜單-工具-開發者工具,打開知乎頁面,就可以看到頁面下方的開發這工具出現如下畫面:
進入收藏夾頁面,隨意選一個收藏夾,觀察資源的載入情況。點擊工具下方的`Document`標籤,如下圖所示:
可以得知現在通過 `HTTP GET` 訪問了`http://www.zhihu.com/collection/20801936`,其中`20801936`是收藏夾的id。返回Html正文:
好了,分析一下獲得的html標籤,發現正文內容包含在`&
這時出現了一個問題:請求頭裡並沒有包含`start、next、number`等類似參數,我們怎麼導出下一頁的文章呢?
我們把收藏夾頁面往下拉,發現它會自動載入後面的文章。觀察一下開發者工具,發現這樣的一個XHR請求:
可以看到返回結果為json格式,裡面包含了一個escape了的xml正文。看來api找到了。
那麼接下來我們來分析一下這個api:
可以看到請求地址(和前面一樣)和post所需要的參數。`offset`和`start`好理解(請求多少個和起始時間點),但是這個`_xsrf`從哪裡可以拿到?
觀察一下前面GET請求拿到的html,發現最下面出現了:
而且這個值在同一個收藏夾下是不變的(過一段時間會變一下,應該是收藏內容變動的原因)。
再觀察到接收到的json,裡面出現了兩個神秘的數字:`20`(msg數組的第一個元素)和`1331444491`(最後一個元素),經測試`20`是當前結果中文章的數量,`1331444491`為下20篇文章的開始時間(`start`參數)。當後面沒有文章時,這個參數為`-1`。
好了,這時腦海里可以構想出抓取整個收藏夾的具體流程了。困難的部分完成,剩下來就是簡單的解析內容的工作了。
整理並編寫程序
腦海裡面的思路整理如下:
獲取收藏夾的id
獲取_xsrf參數
循環 當start不為-1
用start和_xsrf發起POST請求
解析請求結果,提取start參數值和正文內容
按照模板生成文章,保存為文件
更新start參數
結束
再通過努力(其實是不熟練)將這個思路用Ruby實現,源代碼:
https://github.com/legendmohe/zhihu_collection/blob/master/ZhihuCollection.rb
該腳本在當前目錄下的`res`文件夾中對每篇文章生成一個html文件。
生成格式
把內容都保存下來後,接下來的工作比較自由了。
現在要解決的問題是,怎麼樣顯示這些文章?具體一點,就是格式和樣式的如何選擇。
關於格式,考慮到排版的方便性(其實是我水平不行),決定用html。排版方面,以前收藏了一個網址 TYPO.CSS - 中文網頁重設與排版,裡面提供了一個css文件,感覺樣式挺漂亮的,就用它吧。
最終參考了一下上面那個網址的源代碼和知乎閱讀頁面的源代碼,各自採用了一些css參數,最終整合出一個模板:
https://github.com/legendmohe/zhihu_collection/blob/master/template.html
生成內容時將&
替換成文章正文即可(上面的源代碼中有體現)。
最終效果如下:
還可以吧?
=========================update=======================
這幾天修改了一下腳本,導出的文件更方便地製作成電子書。利用sigil -
The EPUB Editor,可以製作成如下epub格式的電子書:
(閱讀軟體為 多看)PS:以上所有源代碼已上傳到 github.com 的頁面javascript:void((function(){ $(".zu-edit-button").remove(); var list = $(".zm-editable-content"); var k , strs = []; document.write("&
"+document.title.substr(0,document.title.length-4)+"&
"); for( k =1;k&
我想你知道怎麼打開JavaScript控制台吧。
$(".zm-item-expandall").each( function(){ this.click(); } );
執行這個,展開所有答案。然後複製粘貼。$( ".zm-item-meta" ).remove();執行這個,刪除答案下面的那些東西,就是評論分享啥的,,,,我最近在學慣用python寫爬蟲
覺得也有這個需求,寫了一個代碼,可以將我自己的收藏保存下來樓主可以試試,代碼見:gilbertjuly/crawl_zhihu_collections 路 GitHub主機需支持python以及beautifulsoup的庫,還不完善,所以沒有打包成exe。用手機版知乎,就可以直接保存到evernote,速度很快。
我是用iOS的,安卓不保證一樣。chrome 瀏覽器有 evernote 的插件 叫「剪藏」吧
前幾排的長篇大論沒耐心看。我用了個比較比較無腦的辦法,首先把優秀問題或者答案分享到新浪微博,新浪微博綁定了印象筆記之後直接@我的印象筆記 就可以輕鬆保存了。
知乎上的一般收藏到自己的收藏夾里。
如果要整理到EverNote裡面的話,就概括精神,轉化成自己的語言,手動輸入。大段必須引用原文的,複製粘貼之後也會有修改。如果「時間來不及」,那就放在默認筆記本下,而不是放在專門的筆記本下。從前是很依賴插件的,內容和格式都保留,很方便。但有一天看到一句話:EverNote是你的第二大腦,而不是你的硬碟。推薦你以後還是看一個保存一個吧。沒有批量的,我現在一般是看到想要的就用悅讀存進去
推薦閱讀:
※Evernote 的同步方式是怎樣的?
※Evernote標籤支持分級的意義何在?
※馬克飛象背後的製作團隊/公司是什麼背景的?
※hm標籤怎麼看?
※如何用 Evernote 當作銷售團隊的 CRM,是否可行?