因为公司平时需要运营记录微信公众号推文的阅读数、点赞数、评论数,所以经常可以浪费大把时间去统计数据,所以为了协助她人,就利用工作闲暇之余制作了这一款油猴脚本,可以抓取微信公众号平台推文的文章数据,并制作成execl报表并下载。
收集微信公众号教程
参照网上的教程再加之自己平时研习的一些js,才把数据拿到手,如果你也想制作属于自己的油猴脚本,可以参照《直观的油猴脚本编写教程》
此次制作无非就是采用jquery的选择器领到html内容,原理相对简单,但是装箱成报表的时候搞了很久,但是幸亏在百度找到一篇《HTML table导出到Excel中的解决办法》才完成了最后的报表导出功能。
// ==UserScript== // @icon https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png // @name 微信公众号数据采集 // @namespace [url=https://www.youngxj.cn]杨小杰博客[/url] // @author Youngxj // @description 获取微信公众号文章发布的文章标题、阅读数、点赞数、评论数,并下载成表格 // @match *://mp.weixin.qq.com/cgi-bin/home* // @require https://cdn.bootcss.com/jquery/1.8.3/jquery.min.js // @version 0.0.3 // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; // 脚本制作参考教程:https://blog.csdn.net/weixin_30635053/article/details/95395672 //与元数据块中的@grant值相对应,功能就是生成一个style样式 GM_addStyle('#down_wixin_btn{color:#fa7d3c;}'); //视频下载按钮的html代码 var down_btn_html = ''; //将以上拼接的html代码插入至网页里的ul标签中 var ul_tag = $(".weui-desktop-online-faq__switch_content"); if (ul_tag) { ul_tag.append(down_btn_html); } // 填入div块 var textar = ''; $('body').append(textar); var timer; var WxTool = { // 把页面的表格转化为excel下载下来 // 参照链接:https://www.cnblogs.com/anniey/p/7738278.html getExplorer: function() { //获取浏览器 var explorer = window.navigator.userAgent; if (explorer.indexOf("MSIE") >= 0 || (explorer.indexOf("Windows NT 6.1;") >= 0 && explorer.indexOf("Trident/7.0;") >= 0)) { return 'ie'; } else if (explorer.indexOf("Firefox") >= 0) { return 'Firefox'; } else if (explorer.indexOf("Chrome") >= 0) { return 'Chrome'; } else if (explorer.indexOf("Opera") >= 0) { return 'Opera'; } else if (explorer.indexOf("Safari") >= 0) { return 'Safari'; } }, excels: function(table) { if (WxTool.getExplorer() == 'ie') { var curTbl = document.getElementById(table); var oXl = new ActiveXObject("Excel.Application"); //建立AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var xlsheet = oWB.Worksheets(1); //激活当前sheet var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中 sel.select; //全选TextRange中内容 sel.execCommand("Copy"); //复制TextRange中内容 xlsheet.Paste(); //粘贴到活动的EXCEL中 oXL.Visible = true; //设置excel可知属性 try { var filename = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls"); } catch (e) { window.print("Nested catch caught " + e); } finally { oWB.SaveAs(filename); oWB.Close(savechanges = false); oXL.Quit(); oXL = null; //结束excel进程,选择退出顺利完成 timer = window.setInterval("WxTool.Cleanup();", 1); } } else { WxTool.tableToExcel("weixin_data_table"); } }, Cleanup: function() { window.clearInterval(timer); CollectGarbage(); //CollectGarbage,就是IE的一个特有属性,用作释放出来内存的 }, base64: function(s) { return window.btoa(unescape(encodeURIComponent(s))) }, format: function(s, c) { return s.replace(/{(w+)}/g, function(m, p) { return c[p]; }) }, tableToExcel: function() { return WxTool.zzzz("weixin_data_table", '微信公众号数据采集'); }, zzzz: function(table, name) { var uri = 'data:application/vnd.ms-excel;base64,', template = '获取数据
时间 | 标题 | 阅读数 | 点赞数 | 评论数 |
---|
完备油猴插件安装地址:https://greasyfork.org/zh-CN/scripts/395157-%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86