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中的decode()方法的使用
May 18 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
python监控文件并且发送告警邮件
Jun 21 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
python__new__内置静态方法使用解析
Jan 07 Python
Python定义一个函数的方法
Jun 15 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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.ini中文版
2006/10/09 PHP
php全排列递归算法代码
2012/10/09 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
python实现抽奖小程序
2020/04/15 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python圣诞树编写实例详解
2020/02/13 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
2019入党申请书格式
2019/06/25 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
css样式important规则的正确使用方式
2022/06/10 HTML / CSS