微信公众号,统计公众平台的打赏人数和金额脚本
作者:互联网
selenium,python3,chrome浏览器:
脚本会自动翻页,整合所有文章的打赏,最种按照粉丝名分类,然后从高到低打印。 还有总额。
其中的url地址,请替换成自己的公众号赞赏页面的地址哦~
脚本代码如下。请对照本文日期,若相距太远,则公众平台可能有结构变更,请联系博主修改。vx: qingwanjianhua
# -*- coding:utf-8 -*- import os,time from selenium import webdriver driver = webdriver.Chrome() driver.get('https://mp.weixin.qq.com/merchant/reward?action=getlatestreward&appmsgid=&idx=&count=&token=&lang=zh_CN') raw_input('请登陆成功后点击任意键 开始:\n') res = {} while True: zhangshu = driver.find_elements_by_xpath('//*[@id="articlelist"]/div[*]') for i in zhangshu: i.click() time.sleep(1) driver.implicitly_wait(3) while True: name = driver.find_elements_by_xpath('//*[@id="commentlist"]/table/tbody/tr[*]/td[1]/div/h3/div/span/span') money = driver.find_elements_by_xpath('//*[@id="commentlist"]/table/tbody/tr[*]/td[2]') for j in range(len(name)): # print name[j].text, money[j].text if name[j].text not in res.keys(): res[name[j].text] = float(money[j].text) else: res[name[j].text] += float(money[j].text) try: driver.find_elements_by_link_text('下一页')[1].click() time.sleep(2) except: break # break #删掉哦 try: driver.find_elements_by_link_text('下一页')[0].click() time.sleep(2) except: break end = sorted(res.items(),key =lambda x:x[1],reverse=True) sums = 0 print '--------------\n\n' for i in end: print '【',i[0],'】 : ',i[1] sums += i[1] print '\n总金额为:',sums
标签:elements,res,name,text,driver,公众,打赏,微信,find 来源: https://blog.51cto.com/u_15282986/2953183