今天下班早,回來趕緊記錄一下...
這次比較簡單,直接python模擬加密規(guī)則就可~
以(https://tm.zjol.com.cn/channel/tm_recommend.html?5d8c0b92cf8dfd0001a4143d)為例(僅供學(xué)習(xí)交流,請勿用作商用):
1. 爬蟲第一步衍慎,chrome抓包整一股
很明顯,看請求的網(wǎng)頁沒有返回想要的數(shù)據(jù),那就全局搜索一下“上海人民”...
Bingo! 是個異步加載滓彰,鏈接:https://tm.zjol.com.cn/api/article/channel_list?list_count=0&channel_id=5d8c0b92cf8dfd0001a4143d,可以直接從原請求鏈接拼過來州袒!
讓我們再來康康這個異步加載的請求頭有哪些~
嗯...看見了signature揭绑、cookie、referer郎哭、timestamp...(cookie其實(shí)是不用的哈他匪,自己去試),其他都好說夸研,關(guān)鍵是這個x-signature邦蜜,那我們?nèi)炙岩幌驴悼?..
嗯,很直觀亥至,就在https://app-stc.zjol.com.cn/static-gw/js/currency.min.js里畦徘,快速掃一眼js文件,發(fā)現(xiàn)了關(guān)鍵的代碼抬闯,ajax發(fā)起了一個請求井辆,url和異步加載的鏈接基本一樣,請求頭也一樣H芪铡1薄!
兄弟們睡榆,破案了萍肆。n就是個時間戳,x-signature就是拼接了一個跟時間戳有關(guān)的字符串胀屿,然后用sha256加密了塘揣,其他參數(shù)都是定值,你們這么聰明宿崭,肯定知道t就是頻道id啦亲铡!
2. 爬蟲第二步,python模擬ok咯
詳情頁也有加密,就base和json_url不一樣吆鹤,加個判斷處理一下就好了~
最后厨疙,老規(guī)矩了,我家錘錘鎮(zhèn)樓騙贊R晌瘛U雌唷!
嘿嘿嘿
最近會跳了知允,蚊帳蕩秋千玩撒蟀,回來一看都給整掉了,哼@染怠Q栏巍唉俗!
碼字不易嗤朴,兄弟姐妹們賞臉給個贊噢~~