经过上一次的实战,手感有了,普罗西(雾)池也有了,再战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次,路径点上的信息就会加载出来。

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

转载于:https://www.cnblogs.com/dgutfly/p/7219210.html

python爬虫——与不断变化的页面死磕和更新换代(3)相关推荐

  1. python爬虫爬取多个页面_Python爬虫笔记:爬取单个页面

    前言 学习Python爬虫技术也是一件需要大量实践的事情,因为并不是所有的网站都对爬虫友好,更多的一种情况是网站为了限制爬虫不得不在最小化影响用户体验的前提下对网站访问做出一定的限制,最常见的就是一些 ...

  2. Python爬虫:抓取多级页面数据

    前面讲解的爬虫案例都是单级页面数据抓取,但有些时候,只抓取一个单级页面是无法完成数据提取的.本节讲解如何使用爬虫抓取多级页面的数据. 在爬虫的过程中,多级页面抓取是经常遇见的.下面以抓取二级页面为例, ...

  3. python爬虫爬取多个页面_Python 爬虫爬取多页数据

    但是,按照常规的爬取方法是不可行的,因为数据是分页的: 最关键的是,不管是第几页,浏览器地址栏都是不变的,所以每次爬虫只能爬取第一页数据.为了获取新数据的信息,点击F12,查看页面源代码,可以发现数据 ...

  4. Python 爬虫篇-爬取web页面所有可用的链接实战演示,展示网页里所有可跳转的链接地址

    原理也很简单,html 链接都是在 a 元素里的,我们就是匹配出所有的 a 元素,当然 a 可以是空的链接,空的链接是 None,也可能是无效的链接. 我们通过 urllib 库的 request 来 ...

  5. python爬虫--小白爬取csdn页面题目与链接

    爬取csdn页面题目与链接 前言 随着人工智能的不断发展,爬虫这门技术越来越重要-哈哈哈,太过官方.新手小白,过程较曲折,代码较不专业,欢迎批评与指教! 进入正题:本文主要爬取csdn博客某专栏下的题 ...

  6. python爬虫——爬取静态微博页面,找到可能认识的人

    环境: BeautifulSoup4 (4.6.0) requests (2.19.1) 分析 该博客是本人第一个爬虫项目,之前比较懒,没上传博客,最近再学爬虫,在此一并补上. 我们知道,爬虫获取数据 ...

  7. python爬虫二级子页面爬取

    python爬虫二级页面爬取 文章目录 python爬虫二级页面爬取 前言 一.流程 二.操作部分 1.请求头设置 2.第一级页面爬取 3.二级页面内容爬取 4.运行结果 前言 推荐一个爬虫的小玩意 ...

  8. bilibili直播间利用python爬虫自动发送弹幕

    打开bilibili,在已登录状态下随便进入一个直播间,发送弹幕666 关于时间戳: 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒) ...

  9. 某徒步旅游网站python爬虫小练习

    yxk周边游网站python爬虫小练习(跨页面) 代码很简单,关键一个是 encoding="utf_8_sig" , 否则乱码,注意writerow()处理list import ...

  10. 入门Python爬虫开发-欧阳桫-专题视频课程

    入门Python爬虫开发-443人已学习 课程介绍         通过本课程的学习,你将掌握如何使用Python的基础类库,实现对邮箱.图片.金融数据的爬取,以及什么是深度爬取和广度爬取 课程收益 ...

最新文章

  1. 乐高机器人教室布置图片大全_全国青少年机器人技术等级考试(上海宝山站)顺利举行...
  2. 呼叫中心最难的问题是什么?
  3. CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
  4. SQL Server 判断数据库是否存在,表是否存在
  5. 第6周第4课:复习及扩展知识
  6. Bentley Descartes V8i安装教程
  7. 什么是Ajax和JSON,它们的优缺点
  8. 新建Silverlight文件的方法
  9. poj 1250 解题(链表法)
  10. (王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求
  11. 《程序员代码面试指南》第二章 链表问题 删除无序链表中值重复的链表
  12. 微课|玩转Python轻松过二级:第2章课后习题解答(3课,79题)
  13. [置顶]mybatis分页插件实现分页...
  14. pku1157-------LITTLE SHOP OF FLOWERS(简单动态规划题:摆放鲜花使审美价值达到最高)...
  15. 强化学习中的各类算法
  16. android虚拟pdf打印机,虚拟打印机PDF
  17. 水位传感器的python代码_关于水的作文
  18. C++二维vector初始化大小方法
  19. 英语用法整理_用语库
  20. mysql错误:Can’t create TCP/IP socket (10106) 解决方法

热门文章

  1. centos 图形模式与命令行模式设置
  2. jquery validate使用笔记
  3. [Unity3D]自己动手重制坦克舰队ArmadaTank
  4. Linux登录时执行
  5. Arturia Analog Lab for Mac - 原始混合合成器
  6. 语言技巧——scanf读入多行字符串
  7. Vue 打包静态文件路径设置
  8. 《Unity虚拟现实开发实战》——第1章,第1.1节虚拟现实对你来说意味着什么
  9. LeetCode——N-Queens II
  10. 生产环境Mysql数据库备份脚本