吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10853|回复: 72
收起左侧

[Python 原创] 【原创源码】【Python】王者荣耀最低战力查询V2.0

  [复制链接]
fuxi 发表于 2021-3-27 00:37
本帖最后由 fuxi 于 2021-10-14 15:57 编辑

V2.0版本,此接口返回的是json格式
只是接口经常性会返回错误,但是数据比上面那个较新
[Python] 纯文本查看 复制代码
import requests as r
import json
# 导入相关库

while True:  # 建立死循环,否则查询一次后会退出程序
    hero = input("输入需要查询的英雄:")  # 输入查询的英雄
    if hero == "":  # 判断输入的字符串是否是空的
        print("您输入无效\n")
        continue
    platform = input("输入需要的端是安卓还是苹果,请直接输入安卓或苹果:")
    if platform != "安卓" and platform != "苹果":  # 查询端只有安卓和苹果
        print("您输入的端无效\n")
        continue
    # 将用户输入的安卓和苹果转换为android和ios
    if platform == "安卓":
        platform = "android"
    else:
        platform = "ios"
    area = input("输入需要的大区是qq还是wx,请直接输入qq或wx:")
    if area != "qq" and area != "wx":  # 查询大区只有qq和wx
        print("您输入的大区无效\n")
        continue
    else:
        print("查询中……")
        source = r.get("https://api.fuxi.info/wz/select.php?hero=%s&platform=%s&area=%s" % (hero, platform, area)).text
        # get获取,hero英雄,platform为安卓或苹果,area为qq或微信
        _json = json.loads(source)
        # 返回json格式,转换为字典
        if _json["code"] == 200:
            # code为200,表示返回正常,其余数值则错误
            title = _json["data"]["name"]  # 英雄名称
            printText = ("英雄:%s\n" % title)

            area = _json["data"]["area"]  # 区名称
            areaPower = _json["data"]["areaPower"]  # 区最低战力
            printText += ("县/区:%s(%s)\n" % (area, areaPower))

            city = _json["data"]["city"]
            cityPower = _json["data"]["cityPower"]
            printText += ("市:%s(%s)\n" % (city, cityPower))

            province = _json["data"]["province"]
            provincePower = _json["data"]["provincePower"]
            printText += ("省:%s(%s)\n" % (province, provincePower))

            updatetime = _json["data"]["updatetime"]
            printText += ("更新时间:%s\n" % (updatetime))

            print(printText)
        else:
            print("错误代码:%s %s" % (_json["code", _json["msg"]))



V2.0截图
360截图17860601364635.png


成品地址(无需Python环境,可直接运行):
【Python】王者战力查询(成品)
https://www.52pojie.cn/thread-1403475-1-1.html
(出处: 吾爱破解论坛)

帖子修改时间:2021/10/14 15:53

免费评分

参与人数 12吾爱币 +13 热心值 +12 收起 理由
Atnil + 1 谢谢@Thanks!
赤赤山的大当家 + 1 + 1 我很赞同!
曲径通幽处 + 1 + 1 用心讨论,共获提升!
root-kill + 1 我很赞同!
liu1222 + 1 + 1 我很赞同!
AnonyJcy + 1 + 1 谢谢@Thanks!
刹那光华 + 2 + 1 我很赞同!
苏紫方璇 + 5 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
林大钦 + 1 这样我的标就有了,哈哈哈。已帮作者打包。
uilyuan + 1 + 1 用心讨论,共获提升!
a110三色堇 + 1 用心讨论,共获提升!
joneqm + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
wenxin2150 发表于 2021-3-27 14:21
提示: 作者被禁止或删除 内容自动屏蔽
刹那光华 发表于 2021-4-7 02:09
html版本。好像不需要运行环境。直接运行就行。js文件可以自己爬取后把第8行改了就行。
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html>

<head>
    <metahttp-equiv="Content-Type" content="text/html;charset=utf-8">
        </metahttp-equiv>
        <title>英雄最低战力查询</title>
        <script src="http://106.54.89.117/Hero.js" charset="UTF-8" type="text/javascript"></script>
        <style>
            .case {
                float: left
            }
        </style>
        <script>
            //console.log(hero_info);
            function Result(str) {//更改 获得焦点
                if (str.length == 0 || str == '请输入要查询的英雄名') {
                    document.getElementById('livesearch').innerHTML = '';
                    return;
                }
                hint = '';
                var patt = new RegExp(str);
                for (let key in hero_info) {
                    let info = hero_info[key]
                    if (patt.test(info.cname)) {//根据英雄名称匹配
                        HeroName = info.skin[0][0] + '[' + info.cname + ']';
                        hint += '<a id="' + info.cname + '" onclick="HeroInfo(this.id)">' + HeroName + '</a><br/>'
                    } else {
                        for (let index = 0; index < info.skin.length; index++) {//遍历皮肤
                            if (patt.test(info.skin[index][0])) {//根据英雄皮肤名称匹配
                                HeroName = info.skin[index][0] + '[' + info.cname + ']';
                                hint += '<a id="' + info.cname + '" onclick="HeroInfo(this.id)">' + HeroName + '</a><br/>'
                            }
                        }
                    }
                }
                if (hint == '') {
                    hint = '没有该英雄信息';
                }
                document.getElementById('livesearch').innerHTML = hint;
                document.getElementById('livesearch').style.border = '1px solid #A5ACB2';
            }
            function Result2(str) {//点击
                if (str == '请输入要查询的英雄名') {
                    document.getElementById('text').value = '';
                }
            }
            function Result3(str) {//失去焦点
                if (str == '') {
                    document.getElementById('text').value = '请输入要查询的英雄名';
                }
            }
            function formSubmit() {
                hero = document.getElementById('text').value;
                HeroInfo(hero);
            }
            function getYMDHMS(timestamp) {
                let time = new Date(timestamp*1000)
                let year = time.getFullYear()
                const month = (time.getMonth() + 1).toString().padStart(2, '0')
                const date = (time.getDate()).toString().padStart(2, '0')
                const hours = (time.getHours()).toString().padStart(2, '0')
                const minute = (time.getMinutes()).toString().padStart(2, '0')
                const second = (time.getSeconds()).toString().padStart(2, '0')

                return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second
            }
            function PowerFormat(PowerData) {
                let HeroZhanLi = ''
                HeroZhanLi += '区标最低战力:' + PowerData['area'];
                HeroZhanLi += '(' + PowerData['areaPower'] + ')</br>';
                HeroZhanLi += '更新时间:' + getYMDHMS(PowerData['areaTime']) + '</br>';
                HeroZhanLi += '市标最低战力:' + PowerData['city'];
                HeroZhanLi += '(' + PowerData['cityPower'] + ')</br>';
                HeroZhanLi += '更新时间:' + getYMDHMS(PowerData['cityTime']) + '</br>';
                HeroZhanLi += '省标最低战力:' + PowerData['province'];
                HeroZhanLi += '(' + PowerData['provincePower'] + ')</br>';
                HeroZhanLi += '更新时间:' + getYMDHMS(PowerData['provinceTime']) + '</br>';
                return HeroZhanLi;
            }
            function HeroInfo(hero) {
                console.log(hero);
                document.getElementById('text').value = hero;
                document.getElementById('livesearch').innerHTML = '';
                for (let key in hero_info) {
                    let info = hero_info[key]
                    if (info.cname == hero) {//根据英雄名称完全匹配
                        let HeroZhanLi = '</br>';
                        HeroZhanLi += info.skin[0][0] + '[' + info.cname + ']</br>';
                        HeroZhanLi += '</br>QQ区:</br>';
                        HeroZhanLi += PowerFormat(info['Power']['qq']);
                        HeroZhanLi += '</br>微信区:</br>';
                        HeroZhanLi += PowerFormat(info['Power']['wx']);
                        document.getElementById('info').innerHTML = HeroZhanLi;
                        //console.log(info['Power']);
                        return;
                    }
                }
                document.getElementById('info').innerHTML = '没有找到该英雄信息';
            }
        </script>
</head>

<body>
    <form method='get'>
        <div class="case">
            <input id='text' type='text' name='hero' value='请输入要查询的英雄名' onkeyup='Result(this.value)'
                onfocus='Result(this.value)' onclick='Result2(this.value)' onblur='Result3(this.value)'>
            <div id='livesearch'></div>
            <div id='info'>
            </div>
        </div>
        <input type="button" onclick="formSubmit()" value="查找">
        <br>
    </form>
</body>

</html>

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
光迷影乱 + 1 + 1 你这里边查不到艾琳
a1pha + 1 + 1 谢谢@Thanks!

查看全部评分

ぅ初秋 发表于 2021-4-7 09:15
本帖最后由 ぅ初秋 于 2021-4-7 09:27 编辑

v2.0版本的php来了,参数带到地址栏后面?name=要的英雄&type=qq或wx
例如   你的网址?name=李白&type=qq
[PHP] 纯文本查看 复制代码
<?php

        $name = $_REQUEST['name'];
        $type = $_REQUEST['type'];
        $url = 'https://www.sapi.run/hero/select.php?hero=%s&type=%s';
        $newUrl = sprintf($url, $name, $type);
        $str = file_get_contents($newUrl);
        $matchReg = '/(?<=var dictAll =).*?(?:}})/';
        preg_match($matchReg,$str,$match );
        $get_Data = json_decode($str,true);
        if($get_Data['code']==200){
                $title = $get_Data["data"]["heroName"];
                print("英雄:" .$title."<br/>");
                print("========".$type."区========<br/>");
                $area = $get_Data["data"]["area"];
                $areaPower = $get_Data["data"]["areaPower"];
                $areaTime = date('Y-m-d H:i:s',$get_Data["data"]["areaTime"]);
                print("最低区标:".$areaPower."&#8195; 地区:".$area."<br/>");
                print("更新时间:".$areaTime."<br/>");
        $city = $get_Data["data"]["city"];
                $cityPower = $get_Data["data"]["cityPower"];
                $cityTime =  date('Y-m-d H:i:s',$get_Data["data"]["cityTime"]);
                print("最低市标:".$cityPower."&#8195; 地区:".$city."<br/>");
                print("更新时间:".$cityTime."<br/>");
                $province = $get_Data["data"]["province"];
                $provincePower = $get_Data["data"]["provincePower"];
                $provinceTime = date('Y-m-d H:i:s',$get_Data["data"]["provinceTime"]);
                print("最低省标:".$provincePower."&#8195; 地区:".$province."<br/>");
                print("更新时间:".$provinceTime."<br/>");
        }else{
                 print("错误代码:".$get_Data['code'].$get_Data['msg'] );
        }
        exit;

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
soot + 1 + 1 这个接口很稳定,我的小程序和网站都在用
a0yi + 1 我很赞同!

查看全部评分

-_与我疯 发表于 2021-4-2 01:54
易语言版本来了

.版本 2
.支持库 iext

.子程序 取地区战力
.局部变量 局_str, 文本型
.局部变量 局_json, 类_json
.局部变量 局_英雄名, 文本型, , "0"
.局部变量 局_英雄数据, 文本型
.局部变量 局_qq区str, 文本型
.局部变量 局_微信区str, 文本型
.局部变量 局_临时数组, 文本型, , "0"
.局部变量 局_qq数组, 文本型, , "0"
.局部变量 局_微信数组, 文本型, , "0"
.局部变量 i, 整数型

局_str = 编码_Utf8到Ansi (网页_访问_对象 (“http://s.wukongfenshen.com:9972/main/api/honour/wzpower/static/js/index.js?v=0.1000000”, 0, , , , , , , , , , , , , , , , , ))
局_str = 文本_取出中间文本 (局_str, “dictAll = ”, “_czc.push(”, , )
局_json.解析 (局_str, )
局_json.取所有属性名 (局_英雄名, )
.计次循环首 (取数组成员数 (局_英雄名), i)
    超级列表框1.插入表项 (, , , , , )
    局_英雄数据 = 局_json.取通用属性 (局_英雄名 [i] + “.content”, )
    局_临时数组 = 分割文本 (局_英雄数据, “<p>========”, )
    .判断开始 (寻找文本 (局_临时数组 [2], “QQ区”, , 假) ≠ -1)
        局_qq区str = 局_临时数组 [2]
        局_微信区str = 局_临时数组 [3]
    .默认
        局_qq区str = 局_临时数组 [3]
        局_微信区str = 局_临时数组 [2]
    .判断结束
    文本_取中间_批量 (局_qq区str, “<p>”, “<p>”, 局_qq数组, , , , , 假, 假, )
    文本_取中间_批量 (局_微信区str, “<p>”, “<p>”, 局_微信数组, , , , , 假, 假, )
    超级列表框1.置标题 (i - 1, 0, 局_英雄名 [i])
    超级列表框1.置标题 (i - 1, 1, 文本_取右边 (局_qq数组 [1], “地区:”, , ) + 文本区分_只取数字 (局_qq数组 [1]))
    超级列表框1.置标题 (i - 1, 2, 文本_取右边 (局_qq数组 [5], “地区:”, , ) + 文本区分_只取数字 (局_qq数组 [5]))
    超级列表框1.置标题 (i - 1, 3, 文本_取右边 (局_qq数组 [9], “地区:”, , ) + 文本区分_只取数字 (局_qq数组 [9]))
    超级列表框1.置标题 (i - 1, 4, 文本_取右边 (局_微信数组 [1], “地区:”, , ) + 文本区分_只取数字 (局_微信数组 [1]))
    超级列表框1.置标题 (i - 1, 5, 文本_取右边 (局_微信数组 [5], “地区:”, , ) + 文本区分_只取数字 (局_微信数组 [5]))
    超级列表框1.置标题 (i - 1, 6, 文本_取右边 (局_微信数组 [9], “地区:”, , ) + 文本区分_只取数字 (局_微信数组 [9]))
.计次循环尾 ()

王者战力查询(易语言源码 成品).rar

589.74 KB, 下载次数: 301, 下载积分: 吾爱币 -1 CB

Atnil 发表于 2021-5-8 21:00
本帖最后由 Atnil 于 2021-5-8 21:01 编辑

感谢大佬提供的核心代码
荣耀战区排行榜 (wukongfenshen.com)
网站别忘了做好超链保护哦
肥钢 发表于 2021-3-27 00:44
有PHP版的么
 楼主| fuxi 发表于 2021-3-27 00:53

PHP我不会啊
要不你参考着写一下
最好写好了发我一份
39772242 发表于 2021-3-27 01:10
大佬大佬
xiaokaidada 发表于 2021-3-27 02:03
有官方接口咩
sm1952 发表于 2021-3-27 06:22
厉害了!我的哥
小智xyz 发表于 2021-3-27 07:27
求大神打包exe本人小白一个
wc19931103 发表于 2021-3-27 07:47
大佬666666
uilyuan 发表于 2021-3-27 08:44
学习了,谢谢分享
cqhmm 发表于 2021-3-27 09:41
牛皮牛皮
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表