python實現小程式推送頁面收錄指令碼

2022-09-28 16:18:08 字數 2391 閱讀 8573

小程式搜尋推送介面: developers.weixin.qq.com/miniprogram…

小程式獲取assess_token:developers.weixin.qq.com/miniprogram…

當時看到小程式頁面收錄的時候也是很恍然,一直都沒有怎麼注意到這個東西,直到加了微信小程式社群的官方群才看到有人提及這個東西,索性點進去看了一下,發現收錄頁面達到了17萬,應該不算太多,屬於爬蟲自然收錄。

也有過人問過我怎麼做收錄的,真的,就是自然收錄,無非是詳情頁比較重要而已,因為引數的不同收錄肯定會增多很多,前提是不要隨意的攔截使用者登入。當然也和朋友交流過這方面的東西,後面發現收錄是週期性的,大概是間隔7天左右會有一次**,所以過了幾天之後漲了4萬達到了21萬。

但是他們都是頁面推送的收錄,我去看了下發現我們的是乙個推送收錄都沒有,然後大概的問了問自己就寫了乙份推送收錄的python指令碼。

廢話過多直接上**吧,如有不足之處還望指教。

import requestswww.cppcns.com

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 = "".format(appid, secret)

tokenreq = requests.get(tokenurl)

tokenresp = tokenreq.json()

token = tokenresp['access_token']

# 拼接推送鏈結

url = "".format(token)

# 獲取小程式招工推送列表

postdata =

#讀取所有待推送資訊

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 =

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]))

elifsherhb 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,然後讀取之後用","進行了一次分割。

感謝@轉殖:sheep:多利建議改了python的format以及下掉eval

python實現小程式 python實現小程式

1 楊輝三角形python實現 1 11 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 楊輝三角形 def triangel n l 1 定義乙個list 1 while true yield l 列印出該list l l x l x 1 for x in range le...

小程式 極光 推送

開發者在執行初始化的時候,需要傳入 auth payload。該資料結構由開發者服務端生成並傳回瀏覽器,用於開發者授權此瀏覽器執行的 jmessage 初始化。開發者需確保能呼叫獲取到此資料的皆為合法使用者。auth payload的資料結構如下 引數說明 random str 20 36 長度的隨...

小程式訊息推送

小程式開發模板訊息的時候 出現 errcode 41028,errmsg invalid form id hint 大家知道獲取到的prepay id 還非常的詭異 他不是直接乙個引數 而是還帶了字串 比如 prepay id wx2017xx 這樣格式的 最後檢驗是需要去除掉prepay id 這...