前言

前段时间需要做一个获取天猫店铺中所有商品详情的程序,包括获取对应的商品的尺码、吊牌价、实时售价(促销价)、库存等信息。自己倒是写过一些爬虫,不过对于这类电商信息的爬取倒是第一次接触,听说天猫的反爬机制比较严,并且相关教程又都是python语言的居多,正好也做完了,所以想写个java的记录下来。方便大家交流学习。

  1. 使用工具:IDEA Chrome浏览器

本教程分为思路篇代码篇

爬取思路

1. 商品详情页url地址获取:获取该店铺下所有商品的详情页面的url
先进入到该店铺的所有商品分类界面
https://fayayd.tmall.com/search.htm?spm=a1z10.3-b-s.0.0.258f22f0M5d5Qk&search=y
在页面中我们可以看到每一页的商品显示最多只有60个
然后通过查看网页源码(页面右键查看或者Ctrl+u查看),发现在网页源码中并没有商品详情的url信息。
意识到这部分数据应该是ajax动态加载的。

所以我们打开控制台(F12),果不其然在控制台中找到了页面商品数据的信息。

页面上的商品url信息链接为:
https://fayayd.tmall.com/i/asynSearch.htm?_ksTS=1582610331939_181&callback=jsonp182&mid=w-16343834760-0&wid=16343834760&path=/search.htm&search=y&spm=a1z10.3-b-s.0.0.3cc122f0dr4KXl

精简后为:https://fayayd.tmall.com/i/asynSearch.htm?_ksTS=1582610331939_181&callback=jsonp182&mid=w-16343834760-0&wid=16343834760

添加翻页:加入 &pageNo=页码 即可实现翻页
如:https://fayayd.tmall.com/i/asynSearch.htm?_ksTS=1582610331939_181&callback=jsonp182&mid=w-16343834760-0&wid=16343834760&pageNo=5

待会使用正则表达式获取页面上符合要求的商品链接即可。
获取商品链接的java正则表达式为:(写的不是很好,不过功能没问题):

(//detail\.tmall\.com/item\.htm\?id=[\d]{12}&rn=[a-z0-9]+&abbucket=10) //匹配商品链接正则表达式

通过该方式提取的商品链接我发现会有重复的,每个商品链接信息会重复三次,因为评论、图片、标题均含有商品链接信息所以提取出来会有三条相同链接。这个问题也好解决。
利用list中的元素创建HashSet集合,即可进行去重操作。

获取到的商品链接信息我先存储在txt中,共获取了2800+条商品详情链接信息:

有了商品详情链接信息就可以进行对商品详细信息(售价、、吊牌价、库存、尺码)等信息进行进一步提取了。

2. 商品详细信息提取思路,以及应对天猫反爬的思路和解决办法

目标提取图中的信息 吊牌价、当前售价(折扣价)、尺码-款式(货号)-库存

首先我们需要找到这些信息在哪。F12查看源码,果不其然 价格信息库存等都是ajax动态加载的。
所以工作就变成了找到请求的接口

java爬虫爬取天猫指定店铺下全部商品详细信息(实时价格、尺码、库存等) 超详细(思路篇)!相关推荐

  1. Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情

    Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --><d ...

  2. 爬一个人的所有微博 python_Python爬虫--爬取微博指定用户主页下的所有图片

    Python爬虫--爬取微博指定用户主页下的所有图片 写在前面 最近比较无聊,冒出来一个想法,去各大图片网站爬取大妹子的图片,然后自己写个简单的网站,按网站分类显示图片,第一个想到的是爬取知乎问题下面 ...

  3. java爬虫爬取笔趣阁小说

    java爬虫爬取笔趣阁小说 package novelCrawler;import org.jsoup.Connection; import org.jsoup.HttpStatusException ...

  4. 我的第一个开源项目:Java爬虫爬取旧版正方教务系统课程表、成绩表

    Java爬虫爬取旧版正方教务系统课程表.成绩表 一.项目展示 1.正方教务系统 首页 2.爬虫系统 首页: 成绩查询: 课表查询: 二.项目实现 1.爬取思路描述 无论是成绩查询或课表查询亦或者其它的 ...

  5. python java 爬数据_如何用java爬虫爬取网页上的数据

    当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...

  6. Java爬虫 爬取某招聘网站招聘信息

    Java爬虫 爬取某招聘网站招聘信息 一.系统介绍 二.功能展示 1.需求爬取的网站内容 2.实现流程 2.1数据采集 2.2页面解析 2.3数据存储 三.获取源码 一.系统介绍 系统主要功能:本项目 ...

  7. Java爬虫爬取wallhaven的图片

    Java爬虫爬取wallhaven的图片 参考文章:JAVA Jsoup爬取网页图片下载到本地 需要的jar包:jsuop wallhaven网站拒绝java程序访问,所以要伪装报头. 发送请求时 C ...

  8. Java爬虫 --- 爬取王者荣耀英雄图片

    Java爬虫 - 爬取王者荣耀英雄图片 import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Docu ...

  9. python爬虫爬取大众点评店铺简介信息

    python爬虫爬取大众点评店铺简介信息 写作目的: 爬取目标 大众点评的保护机制 应对方法 还存在的问题 写作目的: 今天帮朋友一个忙,要爬取一些大众点评上的数据.结果发现大众点评的防爬机制还挺多的 ...

最新文章

  1. Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
  2. 比较两个title是否相等(差点把我送走)
  3. 将php源码修改成存在注入的源码,天融信关于ucms系统存在代码注入漏洞的分析...
  4. sql语言特殊字符处理
  5. ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services
  6. 边开发就能边测试?一招教你在linux服务器配置Jenkins持续集成神器
  7. java沙盒模式_JavaScript学习笔记(二十五) 沙箱模式
  8. 鸿蒙2.0系统刷机包,鸿蒙系统2.0刷机包
  9. vue页面引用echart的词云图
  10. 【前端】使用html+css+js实现的乞丐版跳一跳
  11. ros使用usb摄像头追踪ArUco markers
  12. 详解 .Net6 Minimal API 的使用方式
  13. 新的一年软件测试行业的趋势能够更好?
  14. Python数据库篇
  15. Unity资源加载发布到移动端iphone/ipad
  16. 地铁时光机第一阶段冲刺四
  17. JZOJ 3388. 【NOIP2013模拟】绿豆蛙的归宿
  18. 考虑气流动力学的电-气综合能源系统可靠性评估
  19. 华为mate30epro支不支持鸿蒙,听我一句劝,华为手机可以支持,但这4款不要买
  20. 世界上最常用的几种语言

热门文章

  1. Linux学习——在CentOS7上安装和配置MySQL5.7
  2. CA通信时候遇到的问题
  3. 解决准考证不能打印不能截图的一种方法
  4. Tahoma,Arial和宋体英文字体
  5. 全连接层tf.keras.layers.Dense()介绍
  6. Android逆向之八门神器原理解析(主要分析其修改内存原理)
  7. OGNL表达式的基本用法
  8. VTM10.0代码学习7:decompressCtu()xReconIntraQT()
  9. 百度人脸识别模块使用分享
  10. 业精于勤荒于嬉-行成于思而毁于随