美文网首页
今曰油条_signature参数pyexecjs调用

今曰油条_signature参数pyexecjs调用

作者: 朝朝朝朝朝落 | 来源:发表于2022-06-23 19:34 被阅读0次

    今曰油条下拉滚动新闻,url有个_signature,cookies里也有2个加密参数,先不管,


    WX20220623-183043@2x.png

    看看_signature怎么来的


    WX20220623-183705@2x.png

    i就是_signature, 每次结果都不一样,不要在意细节,看着像就行

    WX20220623-184323@2x.png

    继续走,到这里,return 有点长,console看看结果

    WX20220623-184436@2x.png WX20220623-184931@2x.png

    就是这个K(b, e, f, a, d, c, n, i) 了,进去看看:

    WX20220623-185032@2x.png

    这一串还是很长,console看看,找到了

    WX20220623-185314@2x.png WX20220623-185612@2x.png

    各种嵌套,硬钢不行了,就用pyexecjs调用吧(记得安装nodjs),把acrawler.js全选复制,保存成jrtt.js:

    // 把一些浏览器环境补上
    window = global;
    document = {referrer : 'https://www.toutiao.com/'};
    location = {
        href : 'https://www.toutiao.com/?wid=1635125685888',
        protocol: 'https:',
    };
    navigator = {
        userAgent:'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36',
    };
    
    ~~这里是你复制的acrawler.js代码600多行...
    
    // js调用
    function get_signature(url){
        return window.byted_acrawler.sign({url:url})
    }
    

    然后是python调用代码:

    import execjs
    def get_signature():  
      '''解密signature参数'''
        with open('jrtt.js', encoding='utf-8')as f:
            jscode = f.read()
        url='https://www.toutiao.com/api/pc/list/feed?channel_id=3189398996&min_behot_time=0&refresh_count=1&category=pc_profile_channel'
        signature = execjs.compile(jscode).call('get_signature',url)
        print(signature)
        return signature
    
    signature=get_signature()
    

    运行一下,啊,结果这么短呢:


    WX20220623-190923@2x.png

    也可以的,这个参数有时效,短时间可以用同一个


    WX20220623-191120@2x.png

    感谢大佬指点: 之呼 [南枝向暖北枝寒]

    相关文章

      网友评论

          本文标题:今曰油条_signature参数pyexecjs调用

          本文链接:https://www.haomeiwen.com/subject/ymjmvrtx.html