在開發過程中,開發者們往往需要頻繁地在社區中分享文章、解決方案以及技術文章來交流與成長。為了簡化這一過程,我將為你們介紹兩個基于Python腳本的自動化工具,可以幫助你發布文章到開發者社區,提高效率。
一、從Markdown文件批量上傳文章
接下來,我們來看一個可以從Markdown文件批量上傳文章的腳本。這個腳本的主要功能是從指定文件夾中的Markdown文件讀取內容,將其轉換為HTML格式,并自動上傳到開發者社區。
腳本功能概覽:
- 讀取Markdown文件: 遍歷指定文件夾,讀取其中的所有Markdown文件內容。
- Markdown轉HTML: 使用Python的markdown庫將Markdown格式的內容轉換為HTML格式。
- 設置文章標題: 文章標題會加上一個固定的前綴,方便識別和分類。
- 上傳文章: 構建請求數據并發送到API接口,將文章發布到指定的社區。
- 輸出發布結果: 根據API接口的響應,腳本會輸出文章發布的結果。
import os
import markdown
import requests
import json# 你的md文件所在的文件夾
md_folder = './mds' # 修改為你的實際路徑# CSDN接口和headers
url = "https://devpress.csdd.net/v1/article/save"headers = {"host": "devpress.csdd.net","sec-ch-ua-platform": "\"Windows\"","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","accept": "application/json, text/plain, */*","sec-ch-ua": "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"","content-type": "application/json;charset=UTF-8","sec-ch-ua-mobile": "?0","origin": "https://devpress.csdn.net","sec-fetch-site": "same-origin","sec-fetch-mode": "cors","sec-fetch-dest": "empty","referer": "https://devpress.csdd.net/post/edit/143733/682b45c3870cef73605fb572","accept-encoding": "gzip, deflate, br, zstd","accept-language": "zh-CN,zh;q=0.9",# 下面的cookie需要你自己抓包獲取,或者用瀏覽器登錄后復制"cookie": "uuid_tt_dd=10_30612462800-1735815659501-388750; UserName=qq8864; UserInfo=0f7b295156e24461955fa16349935e82; UserToken=0f7b295156e24461955fa16349935e82; UserNick=%E7%89%B9%E7%AB%8B%E7%8B%AC%E8%A1%8C%E7%9A%84%E7%8C%ABa; UN=qq8864"
}def markdown_to_html(md_text):return markdown.markdown(md_text)def post_article(md_body, html_body, title):data = {"mdBody": md_body,"htmlBody": html_body,"title": title,"describe": "","thumb": "","nsId": 143733, # 你的nsId"fileInfos": [],"coverImg": "","tags": [],"openPlatforms": [],"editorType": 2}response = requests.post(url, headers=headers, data=json.dumps(data))print(f"發布《{title}》結果:", response.status_code, response.text)def main():for filename in os.listdir(md_folder):if filename.endswith('.md'):filepath = os.path.join(md_folder, filename)with open(filepath, 'r', encoding='utf-8') as f:md_content = f.read()html_content = markdown_to_html(md_content)# 文章標題加上固定前綴title = "#跟著貓哥學習吧# " + os.path.splitext(filename)[0]post_article(md_content, html_content, title)if __name__ == "__main__":main()
腳本使用方法:
- 準備好包含文章內容的Markdown文件,并將它們存放在指定的文件夾中。
- 登錄網站,復制Cookie字符串并添加到腳本中的headers部分。
- 運行腳本,腳本會自動遍歷指定文件夾中的所有Markdown文件并上傳。
例如:
python script.py
在上述兩個腳本中,我們使用了Python的requests
庫來發送HTTP請求,pandas
庫來處理Excel文件,以及markdown
庫來轉換Markdown格式的內容。確保在運行腳本前安裝了所有必要的庫,可以通過pip
命令安裝:
pip install requests pandas markdown
通過這兩個自動化工具,開發者們可以大大節省在開發者社區寫文章的時間,從而更加專注于技術研究與分享。希望這些腳本能夠對各位有所幫助。