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删除列表内容
Aug 04 Python
Python线性方程组求解运算示例
Jan 17 Python
Python找出微信上删除你好友的人脚本写法
Nov 01 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
Pandas分组与排序的实现
Jul 23 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
Python 实现自动导入缺失的库
Oct 29 Python
PyTorch中反卷积的用法详解
Dec 30 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
Python 中的函数装饰器和闭包详解
Feb 06 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 set_time_limit(0)长连接的实现分析
2010/03/02 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
php DES加密算法实例分析
2019/09/18 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python中的with...as用法介绍
2015/05/28 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Python猜数字算法题详解
2020/03/01 Python
常务副总经理岗位职责
2014/04/12 职场文书
食品流通安全承诺书
2014/05/22 职场文书
预防传染病方案
2014/06/14 职场文书
自主招生学校推荐信
2014/09/26 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
特岗教师个人总结
2015/02/10 职场文书
海洋天堂观后感
2015/06/05 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书