【編程】簡書文章下載和接口分析

歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識】
【專題】簡書下載器:Python-Tkinter項目編程入門


現(xiàn)有問題

簡書在【用戶頭像>設(shè)置>賬號管理】中有個【下載所有文章】按鈕,點擊后可以將個人的全部文章都下載成為一個壓縮包,解壓后包含了所有文章的Markdown文件。

但悲催的是,這個下載所有文字的按鈕得到的只有文字,沒有圖片。那么如果你的文章中使用了大量圖片的話,那么這個按鈕就毫無幫助。

這篇文章和大家一起研究如何用Python把自己的簡書文章完整的下載到電腦上面。

路徑分析

登陸后從簡書首頁右上角【寫文章】進(jìn)入到自己的文章列表頁面,地址欄類似:
http://www.itdecent.cn/writer#/notebooks/xxxxxxxx/notes/xxxxxxxx
這里的第一組xxxxx序號表示的是每個文集Notebook的序號,后面一組xxxx是每個文章Note的編號,這和頁面顯示的內(nèi)容相對應(yīng),如下圖。

當(dāng)我們點擊切換Notebook時候整個地址欄都會變,因為我們打開了新的文集并默認(rèn)打開了新文集的第一個文章;如果我們只點擊切換Note,那么就只有右側(cè)內(nèi)容Content會變,因為我們沒換文集,只是換了一個文章。

接口分析

在頁面上【右鍵-檢查】打開控制面板,切換到【Network】網(wǎng)絡(luò)選項卡,刷新頁面,按type類型排序,找到很多xhr數(shù)據(jù)請求行。

點擊每個請求查看【preview】數(shù)據(jù)預(yù)覽,可以看到各個請求獲取的數(shù)據(jù)內(nèi)容。


仔細(xì)對照可以看出幾個主要請求接口的數(shù)據(jù)內(nèi)容(地址從【Headers】中看到):

  • http://www.itdecent.cn/author/notebooks
    獲取所有文集的列表。
  • http://www.itdecent.cn/author/notebooks/xxxxxxxx/notes
    獲取xxx文集的所有文章列表。
  • http://www.itdecent.cn/author/notes/xxxxxxxx/content
    獲取xxx文章內(nèi)容文字。

解決思路

  1. 因為文章是私有內(nèi)容,所以首先要用Python模擬用戶登錄,獲取到用戶相應(yīng)的Cookie和Session之類。
  2. 先獲取到個人的所有文集Notebooks。
  3. 循環(huán)獲取每個文集的所有文章Notes。
  4. 循環(huán)獲取每個文章的內(nèi)容Contents(Markdown格式的.md文件)。
  5. 檢查每個文章中的圖片鏈接,獲取這個圖片并存放好。
  6. 把文章中對應(yīng)的圖片鏈接換為對應(yīng)的存儲的圖片地址。
  7. 找一個能夠顯示Markdown文件的網(wǎng)頁框架。
  8. 頁面框架和所有.md文件放到自己的網(wǎng)頁空間上(比如Github)。
  9. 建立一個機(jī)制以便于在自己的空間上更新最新增加的文章。

最后三個不是必須的,后續(xù)文章中我們將逐步實現(xiàn)這些思路,請持續(xù)關(guān)注~


歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識】


每個人的智能新時代

如果您發(fā)現(xiàn)文章錯誤,請不吝留言指正;
如果您覺得有用,請點喜歡;
如果您覺得很有用,歡迎轉(zhuǎn)載~


END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容