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查找相似单词的方法
Mar 05 Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
Python with标签使用方法解析
Jan 17 Python
Python标准库itertools的使用方法
Jan 17 Python
python3 配置logging日志类的操作
Apr 08 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
python实点云分割k-means(sklearn)详解
May 28 Python
什么是Python中的匿名函数
Jun 02 Python
python之基数排序的实现
Jul 26 Python
python数字转对应中文的方法总结
Aug 02 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python3.5仿微软计算器程序
2020/03/30 Python
python if not in 多条件判断代码
2016/09/21 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
医学类导师推荐信范文
2013/11/19 职场文书
宿舍违规检讨书
2014/01/12 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
基层党建工作简报
2015/07/21 职场文书
放飞理想主题班会
2015/08/14 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
培训心得体会怎么写
2016/01/25 职场文书
python如何做代码性能分析
2021/04/26 Python