
做公众号的内容分析或者竞品监控的时候,第一步就是把文章的数据拿到手。
但是这件事情要比人们想象中的要复杂得多。公众号的内容生态是封闭的,文章链接可以打开,但是你想要批量获取某个号的历史文章列表、正文内容、阅读量、点赞数,官方根本就没有提供开放接口。微信开放平台提供的这些接口是用来让公众号运营者来管理自己的账号的——发文章、回复消息、查看粉丝数据。想用它来拉别人的文,是不可能的。
因此,在进行采集时,主要的途径有三种:开源方案自行部署、第三方合规接口直接调用、可视化工具手动配置。
官方接口为什么不够用
微信公众平台的官方API主要的功能就是账号管理。素材管理、草稿箱、发布能力、数据统计等都是围绕“你自己的号”来设计的。接口文档中写得很清楚,用户管理和数据统计接口只对认证过的公众号开放,并且只能操作授权账号的数据。
想获取其他公众号文章的列表吗?官方并没有提供这样的接口。想要按照关键词来搜索全网公众号的文章吗?官方是不承认的。因此做内容聚合、舆情监控、竞品分析的团队,基本上不会在官方API上浪费时间,直接选择第三方方案。
开源方案:灵活,但得自己扛维护
GitHub上有许多成熟的开源项目来解决公众号文章获取的问题。
wxmp是用Python编写的,用来封装微信公众平台后端API交互的部分。登录之后用cookies来获取访问token,可以查询公众号、获取某个公众号的文章列表、下载文章内容并转换成Markdown格式。它的优点就是可以进行时间范围缓存以及增量更新,只拉取新发布的文章,不会重复请求。适合有一定Python基础的开发者快速搭建采集流程。
wechat-download-api 是一个比较全面的功能的开源方案。提供RESTful API,可以实现整篇文章一键导出七种格式(Markdown、HTML、Word、PDF、EPUB、Excel、JSON)。获取文章列表的接口返回字段有标题、链接、发布时间、摘要、封面图、作者,并且可以进行分页以及按照关键词进行搜索。内置了RSS订阅的功能,并且可以接入MCP来使用AI工具。它通过使用SOCKS5代理池以及Chrome TLS指纹来绕过微信的风控机制,在扫码登录之后会自动保存凭证。
wechat-pcspider 的思路和微信-pcspider 的思路不一样。利用微信PC端进行自动化的数据抓取工作,可以实现对文章内容、阅读数、点赞数、转发数、评论数等数据的自动获取,并且提供了RESTful API接口。适用于需要结构化存储以及自动化的场景。
开源方案的优点是免费、灵活、数据完全由自己控制。但是维护的成本很高——微信的风控策略会更新,Cookie也会过期,接口参数也会改变。今天跑通了的代码,下个月就会出问题。适合有开发能力并且愿意花时间去维护的团队。
第三方合规接口:即插即用,不需要自己去解决反爬的问题
如果你不希望去修改和维护代码,或者需要的是跨账号、批量、长时间稳定的采集能力的话,那么第三方合规接口就更加方便了。
以极致了数据为例,它有公众号API可以调用50个数据方向,比如根据公众号名称查询其历史发文列表、获取文章的阅读数、点赞数、在看数、转发数、收藏数和评论数等完整的互动数据、文章正文内容(纯文本或者HTML格式)、公众号爆文API、搜一搜实时搜索等等。利用合规的方式封装接口,可以覆盖到90%以上的活跃公众号账号,并且能够检索到过去五年的所有推文。
和开源方案最大的不同就是:不用你自己去解决登录态、签名、反爬、Cookie过期等问题。注册并获取到API Key之后,在目标公众号的biz参数中找到对应的值,然后调用接口就可以得到结构化的JSON数据了。技术团队对接一两天就可以跑通了,可以支持多并发批量查询多个账号。
如果你真的不想写代码的话,在飞书应用市场的数据采集插件中有一个叫做「多平台数据采集助手」的插件。在飞书中安装插件,输入公众号名称,选择需要采集的字段,数据会自动写入表格,并且可以设置定时任务自动更新。运营人员可以不用写代码。
还有一种情况是需要单独说明的,即如果要获取的是非公开的数据,比如某个公众号的详细阅读曲线、粉丝增长数据等,在公开页面上是看不到的。极致了数据提供授权登录采集方案,按照客户的需求来给账户授权登录,自动化的后台提取数据,不需人工一个一个账号登录、一个一个打开作品手动统计。数据表可以同步到飞书多维表格中进行仪表盘分析。
可视化工具:零门槛,适合轻量采集
如果你只是偶尔收集一些文章,并且不打算接触代码的话,那么可视化采集工具就是最简单的一种选择。
八爪鱼可以采集微信公众号的文章,登录微信公众平台后台后设置流程来提取文章的标题、链接、发布时间、正文HTML、图片等字段,并导出为Excel或者CSV格式。但是要采集数据的话,首先你需要有一个自己的公众号——获取数据的原理就是利用“新的创作-引用”功能去搜索目标公众号的文章。公众号风控比较严格,在采集的过程中会随机出现验证码,需要人工干预。
该类工具适用于偶尔使用、采集数据量不大时。大规模采集的效率比不上API,而且公众号的反爬虫机制使得长时间采集会不稳定。
怎么选,看你的场景
有技术团队、预算小、愿意自己维护:用开源方案。wxmp或者wechat-download-api都是不错的选择,但是要准备好应对接口变化的准备。
批量采集、长久稳定、不喜折腾反爬:走第三方合规接口。极致了数据覆盖了50个数据方向,并且可以进行API对接以及飞书插件零代码采集,数据可以同步到多维表格进行分析。
偶尔采集、不想要写代码:使用八爪鱼这样的可视化工具,配置好一次就可以导出Excel,但是采集量有限,稳定性受到风控的影响。
非公开的数据(阅读曲线、粉丝增长):采用授权登录的方式进行采集,把账号授权给数据服务商,并且用自动化后台来提取数据。
常见问题解答
Q1:微信公众号官方是否有获取文章列表的API?
没有。官方API只面向自有账号的运营管理,不提供获取其他公众号文章列表、按关键词搜索全网文章的能力。做批量采集必须走第三方方案。
Q2:开源方案和第三方接口的区别是什么?
开源方案免费、灵活,但是要自己解决登录状态、反爬虫、Cookie过期、接口变化等问题,维护成本很高。第三方接口可以直接使用,登录状态以及反爬虫工作由服务商来完成,比较适合不需要投入太多精力去维护技术的团队。
Q3:没有技术团队的话,可以获取到公众号文章的数据吗?
能。用极致了数据的飞书「多平台数据采集助手」插件,零代码配置,输入公众号名称就能采集文章列表和互动数据到多维表格,支持定时任务自动更新。
获取公众号文章的数据,没有一条路可以走通。开源方案给你自由,但是你自己要承担起维护的责任;第三方接口给你省心,但是你要接受按量付费;可视化工具给你零门槛,但是采集量是有限的。先想好自己的技术水平、采集范围以及使用时间,然后选择适合自己的道路。
