微信小程序页面收录推送

微信小程序页面收录推送

微信现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。 爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler 及场景值:1129。

这就是微信小程序官方的原话,也就是如今微信小程序已经可以被爬虫进行爬取了,这将带来新的一波流量红利,抓住这一波流量红利可以加快推广自己的微信小程序为自己带来收益。

微信小程序默认就是全部收录的,但是腾讯官方能不能把你的小程序页面全部进行收录就是另外的问题了。如果并没有被全部收录,或者说收录的页面数量过低,那么我们就可以自己进行推送,让微信可以更及时的收录到小程序的页面信息,让我们提交的页面信息将可能被用于小程序搜索结果展示。

默认情况下的收录情况:(如果存在部分页面不想被收录的,需要自行进行设置屏蔽)

{
  "rules":[{
    "action": "allow",
    "page": "*"
  }]
}

那么当你的收录页面比较少的时候就需要自行进行页面推送了。
官方的介绍在这:官网 这里就不对官网介绍的内容重复了,下面直接上代码吧。

import requests
import json
from fake_useragent import UserAgent

ua = UserAgent()
header = {"User-Agent": ua.random}
query = "userName=wechat_user"  

# 获取小程序的access-token值的地址
url = "https://api.weixin.qq.com/cgi-bin/token"

# 配置自己小程序的个人信息
param = {"grant_type": "client_credential", "appid": "你的小程序AppId值", "secret": "你的小程序密钥)"}

# 提交的小程序页面信息
access_param = {"pages": [
    {
        "path": "pages/video/index",
        "query": query
    },
    {
        "path": "pages/html/index",
        "query": query
    },
    {
        "path": "pages/index/index",
        "query": query
    }
]
}

try:
    # 发起第一次请求获取access-token值
    res = requests.get(url, headers=header, params=param)
    if res.status_code == 200:
        content = json.loads(res.text)
        access_token = content['access_token']
        print("access:", access_token)
        
        # 构造请求收录页面的地址
        access_url = "https://api.weixin.qq.com/wxa/search/wxaapi_submitpages?access_token={}".format(access_token)
        try:
            # 发起第二次请求,请求微信官方进行收录自己小程序的页面
            res = requests.post(access_url, headers=header, data=json.dumps(access_param))
            if res.status_code == 200:
                print(res.text)
            else:
                print("状态码:", res.status_code)
                print(res.text)
        except Exception as e:
            print("fail:", e)

    else:
        print("状态码:", res.status_code)
        print(res.text)
except Exception as e:
    print("fail:", e)

对于小程序的APPID值以及小程序的密钥查看方式(在开发->开发设置中查看)
在这里插入图片描述
只要请求返回的结果的值是0,那么说明请求就已经成功了,如果出现了问题,可以参考下面的值,查看问题出在了那里。

说明 最低版本
-1 系统繁忙,此时请开发者稍候再试
40066 递交的页面被sitemap标记为拦截,具体查看errmsg提示。
40210 pages 中的path参数不存在或为空
40212 paegs 当中存在不合法的query,query格式遵循URL标准,即k1=v1&k2=v2
40219 pages不存在或者参数为空
47001 http请求包不是合法的JSON
47004 每次提交的页面数超过1000(备注:每次提交页面数应小于或等于1000)
47006 当天提交页面数达到了配额上限,请明天再试
85091 小程序的搜索开关被关闭。请访问设置页面打开开关再重试
85083 小程序的搜索功能被禁用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115114.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • return 补充部分

    return 补充部分

    2021年9月27日
    62
  • linux使用ps命令查看和控制进程_ps grep 进程

    linux使用ps命令查看和控制进程_ps grep 进程ps命令Linuxps(英文全拼:processstatus)命令用于显示当前进程的状态,类似于windows的任务管理器查看所有进程ps-A显示所有进程信息,连同命令行ps-

    2022年7月29日
    9
  • C++ – 实现strstr函数

    C++ – 实现strstr函数分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net/**CreatedbyChimomo**函数名:strStr*功能:找出字符串str2在字符串str1中第一次出现的位置(不包括str2的串结束符)。*返回值:若找到,返回指向该位置的指针;否则,返回空指针。…

    2022年6月25日
    28
  • perl正则表达式实现大写字母转小写字母

    perl正则表达式实现大写字母转小写字母这个功能不难,但是要求必须用s///的形式,而且后面不能加第三个参数,不能是s///g这样的形式。不过可以采用多个这样的表达式。例如 s/A/a/s/B/b/s/AB/ab/…………….最终就是要求所有这些表达式组合起来,使得不论输入多少个大写字符,都会被转化为小写。我在atftpd的pcre功能中需要我将大写的请求文件转化为小写,所以需要一个rules文件

    2022年5月6日
    72
  • 决策树与随机森林(从入门到精通)[通俗易懂]

    决策树(decisiontree)是一种基本的分类与回归方法,本文主要讨论用于分类的决策树。决策树学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。而随机森林则是由多个决策树所构成的一种分类器,更准确的说,随机森林是由多个弱分类器组合形成的强分类器。

    2022年4月17日
    42
  • MySQL数据库备份的几种方式

    MySQL数据库备份的几种方式MySQL备份的几种方式最近一直想写点博客,但是不知道写什么,感觉自己最近的知识没有什么增加,今天想到了一篇可以写的博客。以前试过根据data文件夹备份MySQL,但是从来没有成功过,前几天帮助朋友还原MySQL,终于成功的将备份的data文件夹还原成功了。MySQL数据库算是常用的数据库中最好使用的数据库了,对于备份的操作也不例外。所以今天分享一下MySQL数据库的备份的几种方式。方

    2022年6月11日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号