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函数返回多个值的示例方法
Dec 04 Python
Python计算三维矢量幅度的方法
Jun 15 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
python实现聚类算法原理
Feb 12 Python
python中时间模块的基本使用教程
May 14 Python
使用Python实现毫秒级抢单功能
Jun 06 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 Python
Python 中random 库的详细使用
Jun 03 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
Redis构建分布式锁
2017/03/28 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python遍历小写英文字母的方法
2019/01/02 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
4s店总经理岗位职责
2013/12/31 职场文书
学校招生宣传广告词
2014/03/19 职场文书
2014年售票员工作总结
2014/11/19 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
质量保证书格式
2015/02/27 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
Java 定时任务技术趋势简介
2022/05/04 Java/Android
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL