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中writelines()方法的使用
May 25 Python
python常见的格式化输出小结
Dec 15 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
Python中functools模块函数解析
Mar 12 Python
Python自定义线程类简单示例
Mar 23 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
Python中shapefile转换geojson的示例
Jan 03 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Python类成员继承重写的实现
Sep 16 Python
OpenCV-Python实现人脸美白算法的实例
Jun 11 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页面缓存实例
2014/06/25 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
使用Python求解最大公约数的实现方法
2015/08/20 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python3.4实现邮件发送功能
2018/05/28 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
python getpass实现密文实例详解
2019/09/24 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
优秀大学生推荐信范文
2013/11/28 职场文书
银行实习生的自我评价
2013/12/09 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
项目合作意向书范本
2014/04/01 职场文书
保险专业求职信
2014/07/07 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
给学校的建议书400字
2015/09/14 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书