python编写统计选票的程序_使用python编写微信公众号发稿统计程序

近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题、时间、作者等。

首先考虑查看公众号后台有无统计功能,看到的界面如下:

每页只显示7天的消息,且没有部门作者信息。再看另一界面:

只统计总体的发稿数量,阅读量等信息,没有具体的稿件信息。

再考虑通过微信前端,能否使用查看历史消息的功能,获得所有稿件。经尝试,网页版微信无法打开历史消息,手机端和PC端程序可以打开历史消息,但无法进行复制操作。而且历史消息也不能获得全部信息,只有稿件标题和发表时间,并没有作者信息。

再进后台逛一逛,没发现有信息比较全面的地方,只是在“素材管理”的“图文消息”下,还能列出比较多的消息,但同样看不到部门作者信息。

好在后台都是在浏览器中去打开,可以查看一下页面的源代码。这一看,有了意外的收获。

这里有标题、时间和部门作者信息。但这信息太乱了,怎么把它提取出来呢?

笔者近来一直研究创客、机器人和人工智能,这些领域都以Python语言为主要开发工具,我也学了它,正好在此实践一下。

编程之前,我们还是先把数据捋一下,搞清楚。

首先,这个页面并不包含全部的历史消息,而是分页显示的。网页地址是这样的:https://mp.weixin.qq.com/cgi-bin/appmsg?begin=0&count=10&......

begin表示第几页,count表示每页含有消息数量。为了减少翻页次数,我尝试将count数量加大到100,结果发现返回的页面并没有包含100条消息,只有50条消息。经验证,count最大设置为50时,返回的页面包含消息数量和设置的数值是一值的。这样我们可以分别使用…begin=0&count=50&…,…begin=50&count=50&…,…begin=100&count=50&…等地址来获取每页50条消息,直至取到所需要统计的起始日期为止。

接着,分析页面数据的结构,整理如下:

这样数据的结构清晰多了,这儿整理出来只是为了让大家能更容易看清,只要结构不变,怎么乱我们的程序都能识别。最后就是利用Python编写程序提取所需信息了。经过反复调试,程序终于实现了功能。但目前还只是个半成品--未集成微信公众号登录及相关页面下载的功能。需手动登录后台并进入相关页面保存相关网页,然后用此程序提取信息。因微信登录必须扫码完成,所以手动操作是不可避免的,在后续的版本中,将提取人工扫码登录后的HTTP头部参数,传递到程序中,实现网页的自动下载,提高自动化程度。关注“民族中专创新工作室”,发送“微信统计”,可获取源码下载地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 刷windows10,微软计划在Android机上刷Windows 10

据外媒TechCrunch报道,目前微软正努力采取措施让Android设备运行Windows 10系统来提升自己的市场份额。目前,微软在公布Windows 10的发展战略时开始尝试与新的手机厂商合作,而这些厂商之前都至推出过Android系统手机。微软计划在Android机上刷…

jtextpane设置不能选中_在Bridge cc中不能使用camera raw 的编辑功能,解决方法

有时我们在Bridge cc中想对raw文件进行处理,这时需要启动camera raw功能,可是当我们启用时却显示不能编辑,下面说下如何启动使用camera raw 的编辑功能1.打开一张raw格式文件,在文件菜单或者右键选择在camera raw中打开&#xff0…

android icon命名规则,安卓手机的APP图标尺寸规范和图标命名规范

安卓手机的APP图标尺寸规范和图标命名规范点击查看原文android图标包括:程序启动图标、底部菜单图标、弹出对话框顶部图标、长列表内部列表项图标、底部和底部tab标签图标。1、安卓程序启动图标尺寸:ldpi(120dpi)小屏幕mdpi(160dpi)中屏幕hdpi(240dpi)大…

python俄罗斯方块课程设计报告_用python实现俄罗斯方块

!/usr/bin/python -- conding:utf-8 -- from tkinter import * import time import threading import random import math from tkinter import messagebox 变量定义 BIANCHANG 19 COLOR [red, orange, yellow, green, blue, purple, #00C5CD, #00EE76, #388E8E, #556B2F, #6…

intent android 匿名,Android 匿名启动activity 启动系统activity

一般我们使用Intent 进行activity跳转时我们都知道需要跳转的activity的名字,例如:Intent intentnew Intent(FirstActivity.this,SecondActitivy.class);startActivity(intent);当SecondActitivy.class和FirstActivity不再同一个App的时候,我们就需要用到匿名启动&a…

opencv python教程简书_Python-OpenCV —— 基本操作一网打尽

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、MacOS操作系统上。它轻量级而且高效——由一系列 C 函数和少量C类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处…

android listview 数据同步,android中ListView数据刷新时的同步方法

本文实例讲述了android中ListView数据刷新时的同步方法。分享给大家供大家参考。具体实现方法如下:public class Main extends BaseActivity {private static final String TAG "tag";private static final int STATUS_CHANGE 0;ExpandableListView mEl…

python __reduce__魔法方法_Python魔法方法指南

(译)Python魔法方法指南 简介 本指南归纳于我的几个月的博客,主题是 魔法方法 。 什么是魔法方法呢?它们在面向对象的Python的处处皆是。它们是一些可以让你对类添加“魔法”的特殊方法。 它们经常是两个下划线包围来命名的(比如 __init__ &a…

opengles 顶点数组 android,OpenGLES顶点属性、顶点数组和缓冲区对象

顶点属性数据可以用一个顶点数组对每个顶点指定,也可以将一个常量值用于一个图元的所有顶点OpenGLES支持最少16个顶点属性。准确查询顶点数量方法如下:GLint maxVertexAttribs;glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs);一、指定顶点…

java 实体类 临时注解_JPA:Java持久层API--配置流程

一、JPA概述1.1 JPA是什么JPA (Java Persistence API) Java持久化API。是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没有实现 关注点: ORM ,标准 概念 (关键字&#xf…

android新架构,Android新架构组件 LifeCycles 简介

一、前言为了使开发者能尽快在 Android 平台上开发出高质量的项目,Android 官方推出了 Android Jetpack 项目,旨在从基础,架构,行为以及界面 4 大方面体系化地为我们提供组件级别的支持。当然,在实际开发过程中&#x…

领域驱动设计 pdf_什么是领域驱动设计?

什么是领域驱动设计?你可能使用领域驱动设计(DDD)开发了一些项目。你可能很满意, 使用领域模型来开发领域业务。并且得意地展示给你的同事看,他们会说“666”。但有的时候你使用领域模型你总觉得哪儿有点不对劲。你会嘀咕你可能遗漏了什么。 …

Android四级缓存,RecyclerView 源码四级缓存原理

入口我们从使用功能上去读取源码,通常的用法是这个样子-> 我们设置layoutmanager,GridLayouManager 继承LinearLayoutManager,所以我们就LinearLayoutManager 为基准查看rv.layoutManager GridLayoutManager(this,5)rv.addItemDecoration…

织梦自定义html文本,织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章...

这篇文章主要为大家详细介绍了织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。有的时候我们需要通过织梦的dede:sql据自定义字段填的文章id获取相关文…

python 杀死子进程_Python:当父异常终止时,如何杀死子进程?

小编典典 呵呵,我昨天自己在研究这个!假设您无法更改子程序: 在Linux上,prctl(PR_SET_PDEATHSIG,...)可能是唯一可靠的选择。(如果绝对有必要终止子进程,那么您可能希望将终止信号设置为SIGKILL而不是SIGTE…

html评论置顶功能,微信公众号精选留言评论怎么置顶显示?功能在哪里设置?...

微信公众号精选留言怎么置顶?微信公众号留言功能新增了置顶精选留言的设置,那么微信公众号留言功能在哪里设置呢?下文小乐哥给大家介绍一下!微信公众号精选留言怎么置顶?微信公众平台悄然上线了一个新功能,…

python函数增强代码可读性_写Python必须知道的这几个代码技巧!你会吗?

Day09 函数的初始 函数:函数是以功能为导向,一个函数封装一个功能。登录,注册,文件的改的操作。。。 函数减少代码的重复性,增强了代码的可读性; 获取任意一个字符串的元素的个数 s1 "xiaomingxiaoho…

shell脚本发邮件内容html,[转]Shell脚本中发送html邮件的方法

作为运维人员,免不了要编写一些监控脚本,并将监控结果及时的发送出来。那么通过邮件发送是比较常用的一种通知方式了。通常的,如果需要发送的内容是简单的文本文件,那么使用/bin/mailx就可以了,但是如果想要发送更复杂…

learn python app v3_‎App Store 上的“Learn Python and Scratch”

Learn “Python and Scratch Programming” from AI driven coach and satisfy your thirst for knowledge. App offers bite sized videos, quizzes and AI driven coach to help you become smarter and become great. Just 60 minutes a week can help you become great in …

计算机应用基础知识竞赛题,计算机基础知识题库

随着科学技术的进步,计算机已逐渐渗入人们的生活中,相应的计算机知识是需要具备的,那么你对计算机基础知识了解多少呢?以下是由学习啦小编整理关于计算机基础知识题库的内容,希望大家喜欢!计算机基础知识题库一、单选题1、 第一台…