python爬虫——与不断变化的页面死磕和更新换代

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫——与不断变化的页面死磕和更新换代相关的知识,希望对你有一定的参考价值。

  经过上一次的实战,手感有了,普罗西(雾)池也有了,再战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爬虫——与不断变化的页面死磕和更新换代的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫天气预报(小白入门)

Python都有哪些常见的,好用的爬虫框架

网络爬虫基本原理

网络爬虫基本原理

有没有办法从 python 脚本中获取不断变化的数据,并在 Vue 组件中显示和更新?

python爬虫13--Ajax数据爬取