此文已在本人知乎号上首发: 微信公众号文章采集的一些基础概念
经常有人问我微信文章采集相关的基础常识问题,对于新手来说,一些概念性的问题确实不太了解。但经常被问得也烦了,所以单独写一篇文章总结一些。
对于一些公众号文章/阅读量等接口采集需求,可参见此接口文档,也可直接访问我的网站进行免费测试。
单次发布
单次发布指公众号在同一时间发布的单篇/多篇文章(文章数量在1-8篇)。
日发文次数
一般来说,一个公众号每日只能发布一次,但部分政务/自媒体类型的公众号可发文多次。
公众号历史文章列表
公众号的历史文章列表是按照发布时间排序的,最新发布的排在最前面。一般来说,接口每次返回最近10次发布,也就是10-80篇文章。
文章链接
公众号文章链接可分为临时链接和永久链接,其中永久链接又可分为短链接和长链接两种。
临时链接是从搜狗微信获取到的,有效期为6小时。
永久链接是从微信app里获取得到的,不会过期(短链接可能在很久以后会失效)。
# 临时链接(搜狗微信)
https://mp.weixin.qq.com/s?src=11×tamp=1591759801&ver=2391&signature=LRDTtpHjzm9w087lNZ-mUdy1TkEfrUoLsecGGO5WILQnxR3QymaGD-mCxiysWAmwUwMrGRBvX19uLtMNnFtm4-uT2s5zgMMehmULiO8tnZs=&new=1
# 永久链接-长链接
https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650742155&idx=1&sn=137825a13a4c31fffb6b2347c0304366
# 永久链接-短链接
https://mp.weixin.qq.com/s/zxznxZNWuAUVJW6W7MrPJQ
对于文章采集,能直接采集到永久链接是最好的,否则需要将临时链接转为永久链接(如果只需要采集文章内容,可以在临时链接失效前及时采集)。
biz字段
biz是公众号的唯一ID标识,biz本身是一个base64编码的字符串,如: MjM5MjAxNDM4MA==
biz可以在文章的网页源码里找到(如下图),如果是长链接,链接里__biz参数的值就是biz。
值得注意的是,如果公众号被迁移了,biz也会更改。
alias
alias是公众号的对外id,通俗也叫accountId,比如公众号-人民日报的alias是rmrbwx。
值得注意的是,如果公众号作者没有主动设置,alias为空,此时一般用username作为默认id代替。
nickname
公众号名称/昵称,比如【人民日报】。
username
公众号原始id,每个公众号都有,以gh_开头,如:gh_363b924965e9。
author
文章发布作者,不设置的时候为空。
mid
文章发布的序号id,同一批次发布的文章拥有相同的mid,这个值是递增的。
idx
文章发布的位置,在同一批次发布的文章里,idx的值从1开始递增,其中1代表头条(第一篇文章),以此类推。
文章发布时间
需要注意的是:搜狗微信和微信app里的文章发布时间是有轻微区别的,不一定完全相等。
为了100%保证文章发布顺序,请使用mid进行判断。
以上是我认为采集微信文章前需要理解的基础概念,这样能省掉之后的一些重构麻烦~