zoukankan      html  css  js  c++  java
  • 自动化发布文章到知乎的探索

    我的想法

    我写文章的习惯是在Typora中编辑好md文件,然后发布到博客中,平台包括博客园和知乎。

    发布到博客园时,博客园提供metaweblog来实现自动化新增和修改博客内容,连网页都不需要打开,文章就可以

    发布和修改成功了。这对于后续我维护文章很有帮助,比如一段时间后我发现某篇文章的知识点需要更新,或某个

    功能有新的方法可以实现,那么我只需要编辑本地文章md文件然后再执行python脚本就自动同步更新博客园中的

    文章了。

    但是知乎上面修改文章,每次我要这样做:

    1. 打开网页 — 找到我要修改的文章 — 点编辑
    2. 选择 文档导入 或者修改原文章

    而且知乎没有提供一个方便搜索自己文章的功能,可以看这篇《如何搜索知乎站内文章?》,每当我想修改文章和

    发布新文章时,做这些重复操作效率不高。

    当然网上也有一键全平台发布的工具,可是这些工具我试用后有这几个问题:

    1. 免费用户每月有发布数量限制
    2. 需要我提供知乎的帐号和密码,我不确定安全性
    3. 在文章的结尾会带上工具的小尾巴,比如文章通过XXX发布

    于是我决定自己实现一个这样的工具,用于自动化发布文章到知乎。

    解决思路

    我在浏览器使用开发者工具,F12抓取知乎提交,分析他的过程如下:

    上传md,转换成html,把html进行上传

    md中的图片会重新上传到知乎并替换掉文章中图片url

    在F12的抓包里面,这个过程有很多步骤,时间有限未深入去研究

    我的尝试和测试

    基于上面的思路,我自己写了一版python代码,实现的功能如下:

    先发布到草稿箱,如果条件满足,则会发布成为正式文章

    发布到草稿箱,同一个标题多次发布会存在多篇,每篇的art_id不一样

    意外惊喜,从草稿发布为正式文章时,还是会在草稿箱,但是没有标题,所幸的是图片已经上传好了。

    我的方案

    在我思考要不要继续写完python脚本时,遇到了 VSCode-Zhihu ,体验一段时间后给我的感觉是用着还可以,虽然截止2021年6月3日作者的更新停留在2020-9-24,不过插件在github上有源码,我拉取下来按照自己的需求进行了修改,目前用着也还顺手。

    优点:

    1. 支持在md中插入剪粘板的图片 Ctrl+Alt+P
    2. 在vscode中就可以新增和更新已有文章,这点符合我的使用习惯,因为知乎不提供搜索自己文章的功能

    缺点:

    1. 发布时不能选择话题
    2. 不支持命令行调用(也许vscode可以?需要去查阅下微软的文档)

    vscode-zhihu插件修改记录:《知乎vscode插件修改和重新编译

    github已有轮子

    FreeOpenWrite 中的这个文件:zhihu_publish.py,但是每次需要手动输入验证码

    github搜索关键字:zhuanlan.zhihu.com/api

    TODO 未验证

    可参考的库:《 zhihu-py3》中有讲到专栏《Post 专栏文章类

    作者的新库主要解决授权问题《zhihu-oauth

  • 相关阅读:
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/15331549.html
Copyright © 2011-2022 走看看