如何把極客時間的課程保存到本地


最近極客時間有個活動,企業可以為每位員工免費領取3門課程。剛好我們公司領導也給我們申請了這個權益(沒有領取的可以找領導說說幫忙弄一下,活動地址)。

免費領取的課程只有30天有效期,因為工作日白天要正常上班,30天之內沒法學完3門課程。所以就寫了個腳本,將賬號下所有可以看到的專欄課程自動保存到本地。

腳本已經開源到 GitHub ,需要的可自取:GitHub 地址

💥 該項目僅限學習交流使用,請勿用於任何商業行為和損害其它人利益的行為。 💥

如何使用

  1. 將代碼 clone 到本地

    git clone git@github.com:zhengxiaotian/geek_crawler.git
    
  2. 直接在終端或者 Pycharm 中運行腳本(ps: 代碼是在 Python3 下編寫的,需要使用 Python3 運行)

    python geek_crawler.py
    
  3. 輸入賬號密碼

    E:\geek_crawler (master -> origin)
    λ python geek_crawler.py
    請輸入你的極客時間賬號(手機號): *************
    請輸入你的極客時間密碼: ************
    
  4. 抓取完成

    2020-04-28 19:32:41,624 - geek_crawler.py[line:307] - INFO: 請求獲取文章信息接口:
    2020-04-28 19:32:41,633 - geek_crawler.py[line:320] - INFO: 接口請求參數:{'id': 225554, 'include_neighbors': 'tru
    e', 'is_freelyread': 'true'}
    2020-04-28 19:32:42,047 - geek_crawler.py[line:349] - INFO: ----------------------------------------
    2020-04-28 19:32:47,131 - geek_crawler.py[line:478] - INFO: 正常抓取完成。
    

    Snipaste_2020-04-29_08-55-08.png

    PS:如果抓取過程中有接口報錯導致抓取中斷,可以查看日志中對應的報錯信息,然后直接重新跑腳本繼續抓取(之前抓取成功的文章會在本地有文檔記錄,后續不會重復抓取的)

成果展示

Snipaste_2020-04-29_08-44-44.png

Snipaste_2020-04-28_19-31-52.png

功能清單

  • [√] 輸入賬號密碼后自動將該賬號下所有可以看到的專欄(圖文+音頻),保存到本地;

  • [√] 可以支持選擇保存成 Markdown 文檔或者 HTML 文檔;

  • [√] 支持配置排除某些課程的拉取(比如已經有的課程不再下載);

  • [ ] 抓取指定名稱的課程;

  • [ ] 將每篇文章的評論與正文一起保存到本地;

  • [ ] 將視頻拉取下來保存成 MP4 文件;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM