用python編寫程序自動發表csdn博客
最新
04-14
我有個基於github pages的博客,又在很多其他網站上發博客. 比如csdn . 為了避免重複操作,想用程序實現自動發博客.
今天上午就試了一下csdn這個網站
1.方法一-- 用api來發送博客
進入開發者文檔可以看到
註冊開發者, 使用文檔中的方式獲得access_token來獲取授權
然後就可以post了,比如這篇文章,
2.方法二 -- 模擬登陸
用python來模擬登陸, 為了簡單,可以使用cookies來利用瀏覽器的會話cookie登陸
3.保存cookie
用chrome, 點擊進入發文章的頁面,可以看到
保存下來,等會在python腳本中使用
4.抓包
尋找post, 提交內容的網址, 我最開始一直以為是 , 返回的頁面是成功的
但是刷新博客頁面, 並沒有發表文章,
後來用fiddler抓包才找到正確的網址
5.元數據
然後構造發表的文章的元數據, 在fiddler中可以發現
就是這樣的一個字典,
那個channel就是要發表到的欄目, 可以在網頁右鍵審查元素髮現各個值的含義
6.發表
最後就可以發送了, 第一次失敗
顯示的是unicode,, 應該列印json就行, 然後知道是標題不能為空,添加標題就可以了
嘗試了多次,都成功了, 這是返回的json
由於不支持markdown, 我又下載安裝了python markdown模塊,可以轉成html,
這樣使用
這是html結果
當我沉浸在成功的喜悅中時,準備發一系列文章時, 才知道csdn有限制
QAQ
本來還想發表這些文章的
那以後發吧
以下配置文件,最新完整的代碼見 github , 歡迎star, 如果想添加其他功能, 歡迎fork & PR
GIF
TAG:python熱愛者 |