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