python发布文章和同步文章到社区的工具小脚本
在开发过程中,开发者们往往需要频繁地在社区中分享文章、解决方案以及技术文章来交流与成长。为了简化这一过程,我将为你们介绍两个基于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
通过这两个自动化工具,开发者们可以大大节省在开发者社区写文章的时间,从而更加专注于技术研究与分享。希望这些脚本能够对各位有所帮助。