python实现小程序推送页面收录脚本


Posted in Python onApril 20, 2020

小程序搜索推送接口: developers.weixin.qq.com/miniprogram…

小程序获取assess_token:developers.weixin.qq.com/miniprogram…

当时看到小程序页面收录的时候也是很恍然,一直都没有怎么注意到这个东西,直到加了微信小程序社区的官方群才看到有人提及这个东西,索性点进去看了一下,发现收录页面达到了17万,应该不算太多,属于爬虫自然收录。

也有过人问过我怎么做收录的,真的,就是自然收录,无非是详情页比较重要而已,因为参数的不同收录肯定会增多很多,前提是不要随意的拦截用户登录。当然也和朋友交流过这方面的东西,后面发现收录是周期性的,大概是间隔7天左右会有一次上涨,所以过了几天之后涨了4万达到了21万。

但是他们都是页面推送的收录,我去看了下发现我们的是一个推送收录都没有,然后大概的问了问自己就写了一份推送收录的Python脚本。

废话过多直接上代码吧,如有不足之处还望指教。

import requests
import math
import time
import json

"""
@author: axin
@time:2019/12/14 14:30
@File: smpush.py
"""

# 设置配置信息
appid = ""  # 小程序appid
secret = "" # 小程序secret
sn = 990  # 每次推送数量
timer = 5  # 每次睡眠时间


# 获取小程序assess_token
tokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}".format(appid, secret)
tokenReq = requests.get(tokenUrl)
tokenResp = tokenReq.json()
token = tokenResp['access_token']

# 拼接推送链接
url = "https://api.weixin.qq.com/wxa/search/wxaapi_submitpages?access_token={}".format(token)

# 获取小程序招工推送列表
postData = {
 "access_token": token,
 "pages": []
}

#读取所有待推送信息
with open('ids.txt', 'r') as f:
 ids = f.read()
 ids = ids.split(",") # 切割成数组保存
 idsLen = len(ids)  # 获取数组长度
 maxGroup = math.ceil(idsLen / sn) # 最大的分组数量
 group_m = -1
 lists = [] # 使用新数组保存
 for i in range(idsLen):
  if i % sn == 0:
   group_m += 1
   lists.append([ids[i]])
  else:
   lists[group_m].append(ids[i])


 #分组推送
 sign = 0 # 标记当前推送条数
 for item in lists:
  arrData = [] # 声明或重置待提交数组
  for i in item:
   data = {
    "path": "pages/detail/info/info",
    "query": "id=" + i
   }
   arrData.append(data)

  postData['pages'] = arrData
  onceReq = requests.post(url, json.dumps(postData))
  onceRes = onceReq.json()
  signStart = sign * sn
  signEnd = (sign * sn) + sn
  if onceRes['errcode'] == 0:
   print("当前推送第{} - {} 条:成功!最后一条数据为:{}".format(signStart, signEnd, arrData[-1]))
  elif onceRes['errcode'] == 47006:
   print("当前推送第{} - {} 条:失败!返回状态码:{},最后一条数据为:{}, 当日推送已达到最大上限!".format(signStart, signEnd, onceRes['errcode'], arrData[-1]))
   break
  else:
   print("当前推送第{} - {} 条:失败!返回状态码:{},最后一条数据为:{}".format(signStart, signEnd, onceRes['errcode'], arrData[-1]))

  sign += 1
  time.sleep(timer) # 设置睡眠时间

还有一个参数文本,由于id过多就将id导入了一个txt,然后读取之后用","进行了一次分割。

python实现小程序推送页面收录脚本

感谢@克隆:sheep:多利建议改了Python的format以及下掉eval

python实现小程序推送页面收录脚本

到此这篇关于python实现小程序推送页面收录脚本的文章就介绍到这了,更多相关python推送收录内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python如何判断数独是否合法
Sep 08 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
Python动态语言与鸭子类型详解
Jul 01 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 #Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 #Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 #Python
解决Python spyder显示不全df列和行的问题
Apr 20 #Python
Python爬虫实现vip电影下载的示例代码
Apr 20 #Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 #Python
tensorflow中tf.reduce_mean函数的使用
Apr 19 #Python
You might like
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
如何在python中实现线性回归
2020/08/10 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
附答案的Java面试题
2012/11/19 面试题
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
保险公司早会主持词
2014/03/22 职场文书
公司年会主持词
2014/03/22 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
统计员岗位职责范本
2015/04/14 职场文书
放假通知
2015/04/14 职场文书
法院答辩状格式
2015/05/22 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript