设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 210|回复: 29

50软妹币找大佬看js问题,已经转款,问题解决

[复制链接]

704

主题

5351

回帖

1万

积分

论坛元老

积分
12920
发表于 2019-11-22 17:59:05 | 显示全部楼层 |阅读模式
本帖最后由 今晚我是你的 于 2019-11-23 21:28 编辑







(15.93 KB, 下载次数: 0)

2019-11-23 19:22 上传
点击文件名下载附件





这html的内容靠什么是如何排序的,有没有办法让右键查看时候源码里面输出正常排序的
phantomjs不行


会解决的50红包奉上,主要是想学习自己不会的东西。

ps:可以直接浏览器打开html文件看效果

能给他重新排序正常才能去爬。不是指手动改正排序。

现在连原理都不知道,能用php重新排序那最好了。



有些人看不明白我说的,我在详细表达一下问题。


正常打开第一行是
[ol]
  •     “对,男孩儿这几年蹿个儿特别快。”[/ol]复制代码
    查看源码第一行是
    [ol]
  • 贺寂摊了摊手,“不知道。[/ol]复制代码

    答案都在楼下了,js改成本地做个备份给后人参考
    请写出php的大佬联系我领红包,同时感谢其他mjj的贡献,此贴保留,为论坛做贡献
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    回复

    使用道具 举报

    10

    主题

    1409

    回帖

    2922

    积分

    金牌会员

    积分
    2922
    发表于 2019-11-23 09:58:36 | 显示全部楼层

    今晚我是你的 发表于 2019-11-23 09:42

    但是那个正文内容div上面没有排序的id,是按什么规律自动填数组值的

    正文内容直接就是按dom顺序遍历存为一个数组。
    base64.decode(document.getElementsByTagName('meta')[5].getAttribute('content')).split(/[A-Z]+%/)
    这里把content里的排序解密,在按 单个字母%分割存为一个数组
    比如解密出来后,前三个数字是[13,7,10,......]
    再遍历排序数组,通过
    var k = Math.ceil((i + 1) % this.code);
                    k = Math.ceil(m - k);
                    return k
    计算最后得出来的顺序,m就是13,i就是循环的i从0开始,this.code是页面上的codeurl值,这个网页是6。
    就是k = Math.ceil((0+1) % 6);
          k = Math.ceil(13-1);
    那么最后得出排序是12。
    那么然后存为一个新的数组 list[12] = this.box.childNodes[0];
    也就是说源代码的第一句this.box.childNodes[0],最后算出来是显示的第十三句list[12];
    中间有些代码是插入防浏览器里复制的不用管。
    回复

    使用道具 举报

    123

    主题

    1072

    回帖

    2649

    积分

    金牌会员

    积分
    2649
    发表于 2019-11-23 09:42:00 | 显示全部楼层
    楼下了
    回复

    使用道具 举报

    15

    主题

    86

    回帖

    261

    积分

    中级会员

    积分
    261
    发表于 2019-11-23 10:40:00 | 显示全部楼层
    稍等 我来看看
    回复

    使用道具 举报

    15

    主题

    86

    回帖

    261

    积分

    中级会员

    积分
    261
    发表于 2019-11-22 17:59:58 | 显示全部楼层
    br 是换行,就是靠换行来排序的
    回复

    使用道具 举报

    26

    主题

    87

    回帖

    266

    积分

    中级会员

    积分
    266
    发表于 2019-11-22 18:00:33 | 显示全部楼层
    哪里有排序???
    回复

    使用道具 举报

    704

    主题

    5351

    回帖

    1万

    积分

    论坛元老

    积分
    12920
     楼主| 发表于 2019-11-23 09:13:00 | 显示全部楼层

    1819 发表于 2019-11-22 18:14

    JS 加密, 扣算法可以了...还不如发网页

    里面的域名就是原网页。抠出来只是方便大佬看
    回复

    使用道具 举报

    10

    主题

    115

    回帖

    270

    积分

    中级会员

    积分
    270
    发表于 2019-11-22 18:02:25 | 显示全部楼层
    楼下我不会把原页面的js文件 都打包一下,算法很可能在那个article.js?tt=xxxxx 文件中
    所以它比较关键 我这里无法访问这个文件
    回复

    使用道具 举报

    0

    主题

    7

    回帖

    20

    积分

    新手上路

    积分
    20
    发表于 2019-11-22 18:04:12 | 显示全部楼层
    算法都在article.js里,排序在
    base64解密一下content内容,然后分割成数组处理就行了。
    回复

    使用道具 举报

    1

    主题

    66

    回帖

    149

    积分

    注册会员

    积分
    149
    发表于 2019-11-22 18:04:50 | 显示全部楼层
    [ol][*]base64 = {
    [*]    map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    [*]    decode: function(a) {
    [*]        var b = binary = '';
    [*]        for (var i = 0; i 复制代码

    elist就是排序后的ele列表了,这个站为了反爬使用的是和99lib差不多的方式,都是打乱顺序
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-12-20 10:33 , Processed in 0.035425 second(s), 5 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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