一、公众号阅读量怎么看
进入微信平台后台,在首页左侧点击图文分析,再点击图文统计,阅读次数,和点击率都能查看到。
微信公众平台,简称weChat。曾命名为“官号平台”和“媒体平台”,最终定位为“公众平台”,无疑让我们看到一个微信对后续更大的期望。和新浪微博早期从明星战略着手不同,微信此时已经有了亿级的用户,挖掘自己用户的价值,为这个新的平台增加更优质的内容,创造更好的粘性,形成一个不一样的生态循环,是平台发展初期更重要的方向。利用公众账号平台进行自媒体活动,简单来说就是进行一对多的媒体性行为活动,如商家通过申请公众微信服务号通过二次开发展示商家微官网、微会员、微推送、微支付、微活动、微报名、微分享、微名片等,已经形成了一种主流的线上线下微信互动营销方式。
服务号功能
公众平台服务号,是公众平台的一种帐号类型,旨在为用户提供服务。
1、1个月(自然月)内仅可以发送4条群发消息。
2、发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。相对应微信的首页。
3、服务号会在订阅用户(粉丝)的通讯录中。通讯录中有一个公众号的文件夹,点开可以查看所有服务号。
4、服务号可申请自定义菜单。
订阅号功能
公众平台订阅号,是公众平台的一种帐号类型,旨在为用户提供信息。
1、每天(24小时内)可以发送1条群发消息。
2、发给订阅用户(粉丝)的消息,将会显示在对方的“订阅号”文件夹中。点击两次才可以打开。
3、在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。
备注:在微信4.5版本之前申请的订阅号可以有一次机会升级到服务号,新注册的微信公众平台帐号在注册到第四步的时候有一个选择类型让你选择订阅号或者服务号,这个一旦选择就不可以改变了,一定要确定好,作为企业推荐选择服务号,因为后期对服务号腾讯会有一些高级接口开放,企业可以更好的利用公众平台服务你的客户。
运营要点:
切忌用微博的方法运营企业微信。
尽量增加企业微信的粉丝。
回归企业微信的本质,互动。
内容推送并不能算做是互动。
与自身业务最大化结合。
二、微信公众号阅读量什么算法
公众号阅读量计算公式:文章总阅读量=粉丝总量x会话标题打开率 + 文章总分享量x用户朋友圈平均好友量x朋友圈标题打开率。
这并不是一个完全精准的数学公式,但能很大程度上反应一篇爆款文章总阅读量的重要组成。文章总阅读量还包含很多细项,整体包括:公众号消息会话、聊天会话、好友转发、朋友圈、朋友在看、看一看精选、历史消息、搜一搜。
还有其他:微信菜单、公众号页面模板、公众号自动回复、公众号文章内链点击、微信收藏阅读、图文阅读原文点击、微信页卡(包括图文页下广告点击、原创文章被转载后点击).....等等。
每个微信ID每天可以贡献5个阅读数,但只有1个赞。连续5次打开文章,也没问题,阅读数会增加,再多就不算了。过晚上12点后,打开文章又可以增加5个阅读数。
只计算微信app打开的文章,将文章链接转发到手机浏览器或PC浏览器均无效。无论是直接将文章“发送给朋友”,还是先“复制链接”再把URL发送给微信好友,都是有效的,只要TA在微信中打开即算数。
公众号阅读量计算注意事项
1、Web版或Mac版微信打开的文章会跳转到PC浏览器,也不算数。微信文章在PC浏览器中是不显示阅读数的,也不显示“赞”数,手机浏览器同理。
2、贡献“阅读数”不需要关注公众号,聊天或朋友圈打开的文章均算数。只要在微信手机客户端里即可,除非第6条。
3、“阅读数”是实时的,不是(截止到)前一天的累计数据。在公开数据之前,公众号运营者可以在后台看到前一天的累计“阅读数”。
4、通过关键词自动回复功能获得的文章不计入阅读数。如果设定回复某关键词获得一个“图文消息”,这篇文章将从0开始计“阅读数”。
5、通过“查看历史消息”打开文章是算数的。当然要算数了。但历史阅读量是不记录的,仅从统计代码部署当日起算数.
微信公众号文章信息(阅读量、在看、点赞数)获取
2024-04-0506:03·开朗奶茶Ns实现这一个功能主要用到了selenium、mitmproxy和wechatarticles,利用selenium可以实现脚本模拟浏览器访问,mitmproxy配合wechatarticles获取文章信息。
参考文章:
python爬取微信公众号文章(包含文章内容和图片)
记一次微信公众号爬虫的经历(微信文章阅读点赞的获取)
微信公众号文章全自动采集(使用mitmproxy抓包,然后用pywinauto实现自动点击)微信app_msg动态获取
seleniumselenium有一个官网,建议通过官网的教程入门。GettingStarted主要有两步(我用的是python),一个是安装python的包,另一个就是还要下载浏览器的驱动文件,并且设置好环境变量。
mitmproxymitmproxy也有一个官网,在官网文档里的GettingStarted里面写了,它默认监听本地的8080端口。有了这个代理,我们就可以获取网络传输中的数据包,要把它用起来就需要对代理进行设置。因为后面需要微信客户端的数据包收发进行监听,所以我直接对系统的代理进行了设置。
可以直接在windows桌面的搜索栏中搜索“代理”,就可以找到“代理服务器设置”,然后手动如图设置代理即可。
具体实现流程
具体步骤分为两步:
文章链接获取
按照上面第一篇参考文章中的方法,获取文章链接。值得一提的是,只要有微信和一个邮箱,就可以注册一个订阅号。这个邮箱绑定了订阅号之后就不能用来绑定其他的东西了,比如小程序。就一开始我的微信用一个邮箱绑定了一个小程序,然后微信登录的时候一直只有小程序的选项。这个时候其实只需要再搞一个邮箱,然后注册一个订阅号就可以了。
公众号管理界面可能跟上面文章中所说的不一样了,但实际上变化不大,还是只需要通过创建新的图文消息,来进入公众号文章链接引用的界面。
利用login.py和get_article_link.py两个文件获取所有文章链接。首先用login.py获取cookies,再用get_articleInfo.py获取文章链接。在使用的时候发现,这个网页也有反爬的机制,出现错误之后就等几个小时再继续。
和参考的文章中不一样的地方在于,我用的是Edge浏览器,然后在获取文章链接的同时还获取了文章的发布时间。具体的参数需要参考原文。
#-!-coding:utf-8-!-#login.py用于保存微信帐号登录信息#以下代码中的微信登录帐号密码需要修改fromseleniumimportwebdriverimporttimeimportjsondriver=webdriver.Edge()driver.get("https://mp.weixin.qq.com/")#微信公众平台网址driver.find_element_by_link_text("使用帐号登录").click()#切换到用帐号密码登录driver.find_element_by_name("account").clear()driver.find_element_by_name("account").send_keys("帐号")#自己的微信公众号time.sleep(2)driver.find_element_by_name("password").clear()driver.find_element_by_name("password").send_keys("密码")#自己的微信公众号密码driver.find_element_by_class_name("icon_checkbox").click()time.sleep(2)driver.find_element_by_class_name("btn_login").click()time.sleep(15)#此时会弹出扫码页面,需要微信扫码cookies=driver.get_cookies()#获取登录后的cookiesprint(cookies)cookie={}foritemsincookies:cookie[items.get("name")]=items.get("value")#将cookies写入到本地文件,供以后程序访问公众号时携带作为身份识别用withopen('cookies.txt',"w")asfile:#写入转成字符串的字典file.write(json.dumps(cookie))#-*-coding:utf-8-*-#get_article_link.py#参考第一篇文章链接,需要对一些参数进行修改#在参考文章的基础上,增加了文章发布时间的条目importrequestsimportjsonimportreimporttimewithopen("cookies.txt","r")asfile:cookie=file.read()cookies=json.loads(cookie)url="https://mp.weixin.qq.com"response=requests.get(url,cookies=cookies)print(response.url)token=re.findall(r'token=(\\d+)',str(response.url))[0]#从url中获取tokenheaders={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/94.0.4606.81Safari/537.36Edg/94.0.992.50",#需要根据需求修改"Referer":"https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2action=editisNew=1type=77createType=0token="+token+"lang=zh_CN",#需要根据需求修改"Host":"mp.weixin.qq.com",}withopen('article_link.txt',"w",encoding='utf-8')asfile:forjinrange(1,53,1):#循环次数根据实际情况进行设置begin=(j-1)*5requestUrl="https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_exbegin="+str(begin)+"count=5fakeid=MzU4MjY2OTY2NQ==type=9query=token="+token+"lang=zh_CNf=jsonajax=1"search_response=requests.get(requestUrl,cookies=cookies,headers=headers)re_text=search_response.json()list=re_text.get("app_msg_list")foriinlist:timestr=i["create_time"]timeArray=time.localtime(int(timestr))otherStyleTime=time.strftime("%Y-%m-%d%H:%M:%S",timeArray)#文章发布时间file.write(i["aid"]+"<=====>"+i["title"]+"<=====>"+i["link"]+"<=====>"+otherStyleTime+"\")print(i["aid"]+"<=====>"+i["title"]+"<=====>"+i["link"]+"<=====>"+otherStyleTime)time.sleep(20)获得的文本文件,可以导入Excel做成表格。在Excel中选择从文本导入数据,分隔符设置为“”。我在导入的时候遇到了一点问题,就有些地方它不识别这个分割符号。我就把这个“”“”“”,在文本文件中全部替换成分号,再用Excel导入就没问题了。
获取文章信息
获取文章信息是参考第二和第三篇文章做的。想要获取微信公众号文章的阅读量、点赞等信息,在浏览器中打开微信公众号文章是没有用的。只有通过微信打开才能拿到这些信息。所以在第三篇文章中,原作者就搞了一个自动控制微信的脚本,在文件传输助手中点击文章链接来产生带cookie和appmsg_token的包。但如果文章数量比较少,其实可以手动点。经过测试,每次获得的cookie和appmsg_token至少可以用来获取100篇文章的信息。
#-*-coding:utf-8-*-#write_cookies.pyimporturllibimportsysfrommitmproxyimportctxfrommitmproxyimportio,http#command:mitmdump-swrite_cookies.py-wdatmp.weixin.qq.com/mp/getappmsgextclassWriterCookie:"""mitmproxy的监听脚本,写入cookie和url到文件"""def__init__(self,outfile:str)->None:self.f=open(outfile,"w")defresponse(self,flow:http.HTTPFlow)->None:"""完整的response响应:paramflow:flow实例,"""#获取urlurl=urllib.parse.unquote(flow.request.url)#将url和cookie写入文件if"mp.weixin.qq.com/mp/getappmsgext"inurl:self.f.write(url+'\')self.f.write(str(flow.request.cookies))self.f.close()#退出exit()#第四个命令中的参数addons=[WriterCookie(sys.argv[4])]write_cookies.py是mitmproxy的监听脚本,可以从下面的命令看出来,当它监听到“
mp.weixin.qq.com/mp/getappmsgext”这种请求包时,就把请求包的内容保存下来。这种请求就是每次微信打开公众号文章是发出的请求包。
对监听到的包解析之后就可以获取我们需要的cookie和appmsg_token,然后那这个去获取微信公众号的文章信息,重复100次后,再去更新cookie和appmsg_token。在此之前,我已经事先把所有文章的链接都存到了一个文本文件“links.txt”中,每次都从里面读一行就是一个文章链接。
然后每到100条记录之后,我就手动点这个文件传输窗口中的链接,就是每次命令行提示下面的信息的时候,我就点一下上面文件传输助手中的链接来更新cookie和appmsg_token。
Proxyserverlisteningathttp://*:8080