专栏首页码农分享3.2、苏宁百万级商品爬取 思路讲解 商品爬取

3.2、苏宁百万级商品爬取 思路讲解 商品爬取

问题2 局部加载

经过问题1“所见非所得”,我们大概对一些套路有了了解,接下取的局部加载也是一个简单的小套路。 这个方式可以这么解释 你所看到的内容其实是一步一步加载出来的,而不是一下子都给你看到的。这是什么意思呢,其实有点问题1种jsonp种每次加载5个数据的意思。而我们现在要将的是商品的局部加载。还是一样的,我们给出几张图来进行说明。

局部加载1.png

局部加载2.png

如上图所示,当我们第一次打开页面的时候,我们可以看到当前商品li标签个数为30,可是当我们将下拉框移动到页面底部,这个时候我们再看查看li标签个数,此时变成了60。这就又是一个小把戏了。 如果我们按照一般的方法爬取数据,我们就会丢掉一般的数据,是不是特别的坑呢。 既然我们已经发现了这个问题,我们如果解决,这又是一个值得大家考虑的问题,大家可以先进行一下尝试,然后在看接下去的内容,也算是对自己的一个锻炼。

分析

首先我们看第一张图,还是通过f12打开开发者共工具,工具栏我们选择查看xhr内容,这个时候我们就能够发现有符合我们条件的数据出现。我们看到请求返回的内容“分析1.1.png”我们发现就是当前页面商品去掉了一些价格,类别等属性的“结构”。所以内容我们得到了,接着我们分析什么样子请求可以得到对应的内容

如图“分析3.png” “分析4.png”比较,他们只有一个后缀不同,我们不妨猜测,是不是加了后缀的为后30个商品,不加的为前30个商品。经过实现证实了我们的猜想。

如果我要得到A类别的第B页的商品我应该如何拼接符合条件的地址 我们首先分析地址,地址如下

 https://list.suning.com/emall/showProductList.do?ci=179001&pg=03&cp=2&il=0&iy=0&adNumber=0&n=1&prune=0&sesab=ABBAAA&id=IDENTIFYING&cc=025

分析当前地址 “分析2.png” “分析2.1.png” 我们可以知道pg=03为当前页码 ci=179001为当前产品编码,所以如果我们要得到符合上述条件的地址,只需要请求如下俩个地址

https://list.suning.com/emall/showProductList.do?ci={页码}&pg={产品编码}&cp=2&il=0&iy=0&adNumber=0&n=1&prune=0&sesab=ABBAAA&id=IDENTIFYING&cc=025

https://list.suning.com/emall/showProductList.do?ci={页码}&pg={产品编码}&cp=2&il=0&iy=0&adNumber=0&n=1&prune=0&sesab=ABBAAA&id=IDENTIFYING&cc=025&paging=1&sub=0

当然在实际编码过程种还会存在其他问题,我在此稍稍提一下,第一个页面获取商品的xpath和第二个页面获取商品的xpah是不一样的

分析1.png

分析1.1.png

分析2.png

分析2.1.png

分析3.png

分析4.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序员是否应该拿年薪百万的工资?

    就目前国内程序员的薪资状态能达到百万级别的少的可怜,做技术开发做过几年之后很快就能达到天花板,就现在国内程序员水平年薪达到这一半就已经算是很不错的了,大部分的程...

    程序员互动联盟
  • 会泡妞的程序员都是怎么撩妹子的?

    编程范 源代码公司
  • 阿里巴巴待遇这么好,为什么还有这么多人离职?

    不是每个阿里巴巴的职位待遇都是那么好,而且作为阿里巴巴几万人的大公司即使很低的比例离职也有相当的数量,这也属于正常的现象,正常来讲一个人离职主要有两种理由:

    程序员互动联盟
  • 【本体】电机偏差值

    EdenChen
  • 程序员如何迈过年薪30万的坎?

    作为一个写了十几年代码的老程序员,程序员要想拿到年薪30万,起码需要具备以下几个条件:

    程序员互动联盟
  • 为什么程序员不去《非你莫属》求职?

    就目前程序员的现状,稍微水平还不错的程序员只需要在各个招聘网站上投一下,就有很多面试的机会,没必要去非你莫属上面娱乐化找工作,之前也听过程序员上过的,估计是别的...

    程序员互动联盟
  • 沟通学TCP握手,等于谋财害命

    TCP之所以有这个三次握手协议有很多历史原因。但是最主要的我认为是网络基础架构不稳定。因为不稳定,所以我们需要多次向对方表示或者等待对方反复确认“我爱你”...

    用户1564362
  • 为什么程序员越来越排斥面试时做题?

    从业十几年经历的不是很多, 算起来也就是三四家,在编程行业跳槽比较频繁的行业,这算是一股清流了,呆的习惯了也就懒得动了,主要还是觉得在一个公司呆的时间长点,才真...

    程序员互动联盟
  • 工程师、程序员、码农有什么区别?

    正常来讲工程师范围更加广泛,包括程序员,现在有硬件工程师,实施工程师,安装工程师等等都属于工程师的范畴,一般称呼程序员高大上的称呼软件工程师。

    程序员互动联盟
  • 快速在组合中查找重复和遗失的元素

    望月从良

扫码关注云+社区

领取腾讯云代金券