zoukankan      html  css  js  c++  java
  • python爬虫——与不断变化的页面死磕和更新换代(3)

      经过上一次的实战,手感有了,普罗西(雾)池也有了,再战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名还不一样?

      回去研究下解决了,如果重复载入同一url太多,后面几个页面都是只留一半商品信息,下一页按钮都不加载出来的。

      偏偏这个按钮的class是唯一的(这个在爬虫正常运作时是优势,但是爬虫爬到的网页稍有差错就直接崩)

      后来用原url做了下实验,发现如果慢慢下拉了n次,路径点上的信息就会加载出来。

      等待几秒再刷新,也可以完整加载(上述现象的原因可能仅仅是这个。。。)

  • 相关阅读:
    查看端口有没有被占用
    微信公众号2()
    How to insert a segment of noise to music file
    puppet practice
    Docker Commands
    LempelZiv algorithm realization
    The algorithm of entropy realization
    Java network programmingguessing game
    Deploy Openstack with RDO and Change VNC console to Spice
    puppet overview
  • 原文地址:https://www.cnblogs.com/dgutfly/p/7219210.html
Copyright © 2011-2022 走看看