今曰油条下拉滚动新闻,url有个_signature,cookies里也有2个加密参数,先不管,
看看_signature怎么来的
i就是_signature, 每次结果都不一样,不要在意细节,看着像就行
继续走,到这里,return 有点长,console看看结果
就是这个K(b, e, f, a, d, c, n, i) 了,进去看看:
这一串还是很长,console看看,找到了
各种嵌套,硬钢不行了,就用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()
运行一下,啊,结果这么短呢:
也可以的,这个参数有时效,短时间可以用同一个
感谢大佬指点: 之呼 [南枝向暖北枝寒]