1. 程式人生 > >python爬蟲——與不斷變化的頁面死磕和更新換代(3)

python爬蟲——與不斷變化的頁面死磕和更新換代(3)

幸好 python爬蟲 不能 mat 實戰 抓包 數字 32bit 進行

  經過上一次的實戰,手感有了,普羅西(霧)池也有了,再戰taobao/tmall

  試著使用phantomJS爬手機端,結果發現爬來的tmall頁面全是亂碼,taobao頁面xpath識別錯誤。一頓分析了之後才發現:TMD我的python2會把編碼搞亂,phantomJS不支持手機獨有的tap()操作!!!

  幸好之前還分析了下taobao的sign。sign是一串數字組合再進行md5的32bit加密。md5(c.token + "&" + new Date().getTime() + "&" + appKey + "&" + b.data),裏面的token = new Date().getTime()+":"+Math.random()(麻煩在於這玩意兒是頁面代碼,就是說必須先獲得主頁面的token才能進去,這樣這個JS的解析步驟就不能少,更慘的是老夫還不會在phantomJS裏抓包),這是解開taobao商品頁面sign的關鍵;kissy的_ksTS裏前面一段是unix時間戳,右邊是隨機數字,jsonp右邊的數字就是這個隨機數字+1

  某些關鍵詞的大多數商品是tmall,所以數據損失倒也不大。taobao先慢慢phantomjs吧。

  然後就升級了python3,以破解亂碼

  之後經過了蛋疼的寫入文件亂碼,在write()加入encoding=‘utf-8‘就解決了

  爬電腦端淘寶咯~~結果頁面的xpath老是解析錯誤??

  而且每次的出錯信息還不帶重樣的?看情況,返回的頁面class名還不一樣?

  回去研究下

python爬蟲——與不斷變化的頁面死磕和更新換代(3)