在前几天关于公众号同步程序的文章中,我提到使用后台接口获取文章列表接口的思路,虽然这个过程有些复杂,但最终实现了自动同步内容的目标。
目前已经可以实现文章抓取、保存、编辑、上传、发布的完整流程,以后我在公众号发布了文章,然后通过这个公众号同步助手就能一键同步了。有兴趣的可以看看我之前的文章《为了更新个人博客,我要写一个公众号同步程序》
然而,今天在优化程序过程中,我发现了一种新的思路来获取公众号的文章列表,这种方法更为简便,并且省去了获取token、cookie等繁琐步骤。
新思路概述
新的思路是这样的,在公众号文章页面底部找到“目录”模块,点击目录名称进入目录页。在这个目录页中,我们可以获取整个目录下所有文章的列表。
这个页面是完全不需要在微信浏览器环境中访问的,而且无需登陆。所以我们完全可以通过程序直接访问页面并解析出文章列表,而且过程中不需要处理token或cookie等复杂的身份验证步骤,过程更加简便。
实现流程
1、查找目录模块
在公众号文章的页面底部,找到“目录”模块,这个目录是作者自定义的文章分类,可以点击进去。
2、获取目录页链接
点击目录名称,进入该目录的页面,可以看到页面下是目录下的所有文章列表。拿到该页面的链接,以便进行后续的解析。
3、解析目录页
解析目录页面,通过分析发现,文章列表是通过接口获取的,那我们通过页面参数拼接接口,提取出该目录下的所有文章列表,包括文章的标题、链接及其他相关信息。
4、遍历文章链接并解析页面
对文章列表中的每个文章链接进行循环遍历,逐个访问每篇文章的页面。在访问到每篇文章的页面后,解析文章的内容,包括标题、正文、作者等信息。
我这里是用了turndown解析页面,将页面内容转换成markdown格式,便于后续的保存和修改。
5、保存文章内容
将解析得到的文章内容进行整理,保存到文章库中,后面就直接接入的我发布流程。
总结
优点
简单快捷,不需要获取token和cookie,代码简单,减少被ban风险。
分类获取,管理起来更清晰。
缺点
范围受限:只能获取特定目录下的文章,无法获取全部文章,因此在某些情况下可能会受到限制。
通过这种思路,我们能够以更加简便的方式获取特定目录下的公众号文章。这种方法虽然在获取范围上有所限制,但在处理效率和简洁性上具有明显优势。希望这个思路能够为正在进行公众号同步的朋友们提供帮助,提升工作效率!
