今曰油條_signature參數(shù)pyexecjs調(diào)用

今曰油條下拉滾動新聞,url有個_signature,cookies里也有2個加密參數(shù),先不管,


WX20220623-183043@2x.png

看看_signature怎么來的


WX20220623-183705@2x.png

i就是_signature, 每次結(jié)果都不一樣,不要在意細(xì)節(jié),看著像就行

WX20220623-184323@2x.png

繼續(xù)走,到這里,return 有點(diǎn)長,console看看結(jié)果

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

就是這個K(b, e, f, a, d, c, n, i) 了,進(jìn)去看看:

WX20220623-185032@2x.png

這一串還是很長,console看看,找到了

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

各種嵌套,硬鋼不行了,就用pyexecjs調(diào)用吧(記得安裝nodjs),把a(bǔ)crawler.js全選復(fù)制,保存成jrtt.js:

// 把一些瀏覽器環(huán)境補(bǔ)上
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',
};

~~這里是你復(fù)制的acrawler.js代碼600多行...

// js調(diào)用
function get_signature(url){
    return window.byted_acrawler.sign({url:url})
}

然后是python調(diào)用代碼:

import execjs
def get_signature():  
  '''解密signature參數(shù)'''
    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()

運(yùn)行一下,啊,結(jié)果這么短呢:


WX20220623-190923@2x.png

也可以的,這個參數(shù)有時效,短時間可以用同一個


WX20220623-191120@2x.png

感謝大佬指點(diǎn): 之呼 [南枝向暖北枝寒]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容