吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

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

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

V2.0版本,此接口返回的是json格式
只是接口经常性会返回错误,但是数据比上面那个较新
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?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, 2025-7-10 12:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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