作為業(yè)余微信公眾號運營,我比較想知道自己通過公眾號的二維碼得到了多少打賞。但微信本身不支持賬單導(dǎo)出,也沒有分類統(tǒng)計,所以只好自己折騰方法。
本方法只能獲取微信錢包-零錢所有賬單。雖然無法獲取完整的微信錢包交易記錄(銀行卡部分),但還是可以獲取微信收入交易記錄,因為微信的收入默認(rèn)是計入錢包-零錢里
大致思路:其實微信零錢賬單是通過一個網(wǎng)頁來顯示,且無需登錄信息。首先用抓包軟件抓取該URL,用Chrome打開,然后通過Console運行JS函數(shù)自動點擊 “加載更多”,獲取全部的零錢賬單。最后全選復(fù)制,導(dǎo)入Excel整理。
所需工具:抓包軟件(Charles、Surge、Replica均可)
Chrome瀏覽器
Excel辦公軟件
第一步:配置抓包工具,抓取零錢賬單URL
如果你有安裝Surge或者Replica等App,也可以使用它們來抓取該URL。沒有的話,也適用Charles,詳細配置Charles抓包iOS教程見此:
簡書 | iOS開發(fā)之抓包工具Charles的安裝配置及使用詳解微信錢包的URL是以
https://wx.tenpay.com 開頭的,大致如下圖,右鍵“Copy URL”
Android 方法類似,也是抓包該URL。
第二步:用Chrome打開賬單URL
因為該URL無需登錄信息,所以用電腦的Chrome可以直接打開。如果提示證書錯誤,選擇 繼續(xù) 即可。
默認(rèn)每頁只會顯示20條數(shù)據(jù),需要點擊加載更多才會顯示更多??梢酝ㄟ^F12進入開發(fā)者的Console 來自動點擊“加載更多”
在Console輸入代碼:
setInterval(function(){ document.getElementById('btnloadmore').onclick();},1000);
代碼意思是每隔一秒自動點擊一次 “加載更多”,然后等待Chrome自動點擊完所有的賬單。
第三步:復(fù)制網(wǎng)頁信息,粘貼至Excel
Ctrl A 全選,Ctrl C 復(fù)制整個頁面的文字,粘貼至Excel。然后在Excel里進行處理:
三行數(shù)據(jù)轉(zhuǎn)為1行:C2=B3;D2=B4;然后以三行為目標(biāo)區(qū)域,復(fù)制粘貼 至所有數(shù)據(jù)行;全選整個表格,復(fù)制,粘貼為公式結(jié)果;篩選、刪除掉無用行;
對D列進行查找替換,把+號全部刪除;再通過單元格格式把C列設(shè)置為時間日期;D列設(shè)置為貨幣
整理后的數(shù)據(jù)如下:
編輯于 2016-11-16姬嘉慧不知道
以前財付通登錄賬號,左下角可以使用微信掃碼登陸的。但是從7月開始,沒有微信掃碼登錄的接口了。所以我的方法不能用了。很遺憾
原內(nèi)容:
騰訊其實還有一個交易系統(tǒng)叫做財付通,大家好像都忘記了。
打開財付通,點擊登錄,會發(fā)現(xiàn)下面有微信登錄。用微信登陸兩遍,就可以查詢詳單了。一頁顯示10條的,逐頁復(fù)制到excel就好了。
網(wǎng)站還是比較簡陋,沒有下載導(dǎo)出。
編輯于 2017-07-01lexlin程序猿
參考 @
姬嘉慧 @
破旗峪少年 的答案
改進了一下腳本。
setInterval( function(){ var log; var list = document.getElementById('trade_list_ul'); for(var index = 0; index < list.children.length; index ++){ log = ""; var li = list.childNodes[index]; for(var indexLi = 0; indexLi < li.children.length; indexLi ++){ log += li.children[indexLi].innerText; log += "," } console.debug(log); } document.getElementById('next').firstChild.click(); }, 1000);
大概在控制臺的輸出結(jié)果如下:
剩下的事情就比較好做了,Ctrl+A,Ctrl+C復(fù)制到文本文件中,刪除頭部的代碼,將尾部的“VM3062:12”替換為空。
然后存儲為UTF-8格式,后綴名更改為.csv,用Excel打開即可。
---------2017-04-10補充
忘了提:因為這個列表頁是內(nèi)嵌的iframe,所以在貼代碼之前要先在Console中選擇“ifrPayment”,就是藍色小漏斗那里。
然后再貼入代碼執(zhí)行,就不會再報這個錯誤了:
“ Uncaught TypeError: Cannot read property 'children' of null ”