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设计模式之单例模式实例
Apr 26 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
Python实现的下载网页源码功能示例
Jun 13 Python
你真的了解Python的random模块吗?
Dec 12 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
numpy.linspace函数具体使用详解
May 27 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
浅谈Python __init__.py的作用
Oct 28 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 Python
Python实现GIF动图以及视频卡通化详解
Dec 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
使用php清除bom示例
2014/03/03 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php实现读取内存顺序号
2015/03/29 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
使用impress.js制作幻灯片
2015/09/09 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
vue组件的写法汇总
2018/04/12 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
Python for i in range ()用法详解
2020/09/18 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Python自省及反射原理实例详解
2020/07/06 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
华三通信H3C面试题
2015/05/15 面试题
高二地理教学反思
2014/01/24 职场文书
社区端午节活动方案
2014/01/28 职场文书
加入学生会演讲稿
2014/04/24 职场文书
新员工考核评语
2014/12/31 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
实习单位鉴定意见
2015/06/04 职场文书
小学入学感言
2015/08/01 职场文书