当前位置: 首页 > news >正文

python发布文章和同步文章到社区的工具小脚本

在开发过程中,开发者们往往需要频繁地在社区中分享文章、解决方案以及技术文章来交流与成长。为了简化这一过程,我将为你们介绍两个基于Python脚本的自动化工具,可以帮助你发布文章到开发者社区,提高效率。

一、从Markdown文件批量上传文章

接下来,我们来看一个可以从Markdown文件批量上传文章的脚本。这个脚本的主要功能是从指定文件夹中的Markdown文件读取内容,将其转换为HTML格式,并自动上传到开发者社区。

脚本功能概览:

  1. 读取Markdown文件: 遍历指定文件夹,读取其中的所有Markdown文件内容。
  2. Markdown转HTML: 使用Python的markdown库将Markdown格式的内容转换为HTML格式。
  3. 设置文章标题: 文章标题会加上一个固定的前缀,方便识别和分类。
  4. 上传文章: 构建请求数据并发送到API接口,将文章发布到指定的社区。
  5. 输出发布结果: 根据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()

脚本使用方法:

  1. 准备好包含文章内容的Markdown文件,并将它们存放在指定的文件夹中。
  2. 登录网站,复制Cookie字符串并添加到脚本中的headers部分。
  3. 运行脚本,脚本会自动遍历指定文件夹中的所有Markdown文件并上传。

例如:

python script.py

在上述两个脚本中,我们使用了Python的requests库来发送HTTP请求,pandas库来处理Excel文件,以及markdown库来转换Markdown格式的内容。确保在运行脚本前安装了所有必要的库,可以通过pip命令安装:

pip install requests pandas markdown

通过这两个自动化工具,开发者们可以大大节省在开发者社区写文章的时间,从而更加专注于技术研究与分享。希望这些脚本能够对各位有所帮助。

http://www.dtcms.com/a/342474.html

相关文章:

  • 第三阶段数据库-6:sql中函数,多表查询,运算符,索引,约束
  • 智慧城管云平台源码,微服务vue+element+springboot+uniapp技术架构,数字化综合执法办案系统
  • 数据结构之排序大全(4)
  • 苷类成分通过 PI3K/AKT 信号通路促进内皮祖细胞来源外泌体修复受损血管内皮
  • 基于YOLO11的茶叶病害智能检测系统
  • 组态软件——工业监控“大脑”
  • leetcode-python-242有效的字母异位词
  • 代码随线录刷题Day39
  • 【uni-app】自定义导航栏以及状态栏,胶囊按钮位置信息的获取
  • Java的运行时数据区
  • Notepad++换行符替换
  • 机器学习——AdaBoost算法
  • 基于YOLO11的水稻叶片病害检测项目
  • 面试压力测试破解:如何从容应对棘手问题与挑战
  • (第二十期上)HTML 超链接标签 a
  • 【工具】前端JS/VUE修改图片分辨率
  • C语言数据结构:动态顺序表实现与应用
  • 如何使用Prometheus + Grafana + Loki构建一个现代化的云原生监控系统
  • 数字社会学是干什么的?数字社会学理论与数字社会学家唐兴通讲数字社会学书籍有哪些?AI社会学人工智能社会学理论框架
  • 4090服务器无法sudo apt update 问题解决
  • 告别服务器!Amazon Lambda无服务开发实战指南
  • CI/CD 学习之路
  • 佰钧成 社招 一面
  • Cesium 实战 27 - 自定义纹理材质 - 立体墙(渐变色)
  • 【数据结构入门】排序算法:插入排序
  • C和C++的区别?
  • 水深水温测量仪:水域监测的“智慧双眸”
  • Linux学习:信号的概念与产生方式
  • 03 安装【动手学深度学习v2】
  • CAN高速通信(含简单程序实战)