猿人学第四题-CSS加密【雪碧图、样式干扰】

练习链接:http://match.yuanrenxue.com/match/4
学习链接:
https://bbs.tampermonkey.net.cn/thread-203-1-2.html
http://www.qishunwang.net/news_show_7882.aspx

在这里插入图片描述

04.js文件:

在这里插入图片描述

04.py文件

import execjs
import os,json,time,re
from requests_html import HTMLSession,HTML
session = HTMLSession()

# 获取最后的30个字符
num_dict = {
    "H/AOyW6SvqnweCAAAAAElFTkSuQmCC":0,
    "kYAKYHOb9g+7HMAAAAAElFTkSuQmCC":1,
    "8BJlTqZkAngxQAAAAASUVORK5CYII=":2,
    "D/AbAv8WdRHzjKAAAAAElFTkSuQmCC":3,
    "UL4d3X/AgqvQAAAABJRU5ErkJggg==":4,
    "B/3J2gmVZucHAAAAAASUVORK5CYII=":5,
    "gL80YzEyuMQpQAAAAASUVORK5CYII=":6,
    "LwC1sVsHrJiVs0AAAAAElFTkSuQmCC":7,
    "L8BvLZG6cpuRANAAAAAElFTkSuQmCC":8,
    "4ApbEnkB6qHqsAAAAASUVORK5CYII=":9,
}
headers = {
    'Host': 'match.yuanrenxue.com',
    'user-agent':'yuanrenxue.project',
    'Referer': 'http://match.yuanrenxue.com/match/4',
}
def parse(source, j_key):
    info = []
    html = HTML(html=source)
    for td in html.find('td'):
        # 1.获取数字和数字偏移值
        num_list = []
        for img in td.find('img'):
            mi_class, mi_style, mi_src = img.attrs['class'], img.attrs['style'], img.attrs['src']
            if j_key not in mi_class:
                left = float(re.findall(":(.*?)px",mi_style,re.S)[0]) / 11.5
                num_list.append((num_dict[mi_src[-30:]], int(left)))
        # 坐标偏移操作
        i = 0
        new_num_list = ['', '', '', '', '']
        for num, off in num_list:
            new_num_list[off + i] = str(num)
            i += 1
        info.append(int(''.join(new_num_list)))
    print(f"\n\n数据:{info} \t总和为:{sum(info)}")
    return info
    

def main():
    """
    key:WFKftevolz 
    value:ebglsfv3Wd 
    j_key:5011e193df5414ac8e1caada63eac9ea 
    datas:<tr class="number"><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:34.5px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:-23.0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:-23.0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: -11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"></td></tr>
    """
    with open(r'./04.js', encoding='utf-8', mode='r') as f:
        infos = []
        JsData = f.read()
        for page in range(1,6):
            url = f"http://match.yuanrenxue.com/api/match/4?page={page}"
            data = session.get(url, headers=headers).json()
            source, key, value = data['info'], data['key'], data['value']
            # 获取加密的隐藏值`j_key`
            j_key = execjs.compile(JsData).call('run_key', key, value)
            # 解析加密的HTML文档内容
            info = parse(source, j_key)
            infos.extend(info)
            # 获取解密的HTML文档内容
            datas = execjs.compile(JsData).call('run_html', source, key, value)
            print(f"key:{key}\nvalue:{value}\nj_key:{j_key}\n解密的HTML文档内容:{datas}")
        print("\n\n这5页的全部数字,计算加和:",sum(infos))
main()

欢迎关注,谢谢哟💌

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以后每2周左右给知识星球的⽤户发布⼀次 WPJAM 所有插件的更新, WPJAM Basic 和微信机器⼈⾼级版是和 WordPress 官放插件站同步更新的,其他插件只有知识星球或者其他⼩程序付费⽤户可以享受。 ⽬录: wpjam-basic WPJAM 所有插件基础, WPJAM Basic 除了能够优化你的 WordPress ,也是 WordPress 果酱团队进⾏WordPress ⼆次开发的基础。 ⽬录: weixin-robot-advanced 连接公众号和 WordPress 博客,匹配⽤户发送信息,匹配相关的⽂章,并⾃动回复⽤户。 ⽬录: wpjam-collection 1. 给媒体创建个分类「图⽚集 | collection」 2. 图⽚分类限制为⼆级 3. 取消图⽚编辑⼊⼝ 4. 附件⻚⾯直接图⽚链接。 ⽬录: wpjam-taxonomy 层式管理分类和分类拖动排序的 WordPress 插件。 ⽬录: wpjam-user ⽀持⾃定义头像,屏蔽个⼈设置,屏蔽姓名设置,隐藏登录名,限制登陆失败次数,防⽌密码被暴⼒破解等 功能。 ⽬录: wpjam-content-template WordPress 内容模板,通过 shortcode 在内容中插⼊⼀段共⽤的内容模板,并且⽀持表格。 ⽬录: wpjam-comment 1.评论点赞, 2.评论置顶, 3.评论点赞排序。 ⽬录: wpjam-platform-hide 设置⽂章在列表⻚不显示,并且可以根据不同平台进⾏设置 ⽬录: wpjam-series 设置⽂章专,并在⽂章末尾显示⼀个⽂章专列表。 ⽬录: wpjam-option 查看所有⾮ WordPress 系统⾃动⽣成的站点选项,如果你觉得某个选项没有⽤了,可以直接删除它。 ⽬录: wpjam-topic WordPress 后台论坛,⽀持创建帖⼦,分组,消息。 ⽬录: wpjam-configurator 全⾃动 WordPress 配置器,⽀持⾃定义⽂章类型,⾃定义字段,⾃定义分类,分类选项,全局选项。。 ⽬录: wpjam-hashtag ⽂章中插⼊ #话#,如果是标签或者分类,则⾃动转换成标签或分类链接,否则跳转到搜索链接。 ⽬录: wpjam-metadata 可视化管理 WordPress Meta 数据。 ⽬录: weapp 微信⼩程序 WordPress 基础插件,包含基础类库和管理。 ⽬录: weixin-group-qrcode 微信群⼆维码轮询显示⼯具,每个群加够⼤概100⼈之后,换下⼀个群⼆维码。 ⽬录: wpjam-grabmp ⼀键抓取公众号⽂章到 WordPress 博客,并且突破微信图⽚防盗链
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷心兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值