這個項目跟了有一點時間了,最近的話反肋。又要跟回這個項目那伐,然后今天又花了一段時間去分析它,這個網(wǎng)站經(jīng)常改版石蔗,是一個比較頭疼的問題罕邀。
在這里也要特別感謝一篇博文,是它的開始养距,讓我一直有思路想到怎么去爬蟲的诉探。
來著開源中國:天眼查接口token, _utm獲取
新版的天眼查,麻煩就麻煩在有登錄Auth問題棍厌,還有就是權(quán)限問題肾胯,還有就是很多數(shù)據(jù)不像上文一樣,可以直接一次性拿完耘纱,我的第一版用的mysql敬肚,但是這個版本嘛。我就打算用MongoDB先做一個緩存在寫入到mysql之中揣炕。
第一步我們先分析帘皿,登錄的入口:
首先我們登錄這里的時候
等到流浪器返回了信息,并且存儲到cookies之中
https://static.tianyancha.com/web-require-js/public/js/route/login-1d429f8752.js
在這個js畸陡,可以得到登錄的操作信息
可以想到的就是鹰溜,這里要用的是ContentType必須為application/json 還有就是 post請求
需要的cookies 是不是有點意思?丁恭?
對的曹动,就是用上次的請求來給下一次的key。
這樣的話牲览,你幾乎能拿到頁面的所有信息了
然后墓陈,在這里進一步解析,也是就是說第献,上面的json拿回來哦的就是包含了auth_token 等信息
還有一個就是
這里 的分頁問題贡必。
如果你直接點的話是會報403的錯誤問題。
遇到這個問題
還要替換一下上傳請求過來的 _csrf 庸毫,_csrf_bk這個兩個參數(shù)仔拟。
csrfToken基本就不變的啦。
然后還有一個代碼要解析的數(shù)組是這個
_sgAttr
他的位置在于
類似這樣的url當中
這里就幾乎已經(jīng)可以滿足你的所有需求了飒赃,剩下的就看你怎么寫頁面解析了利花。