java爬虫爬取天猫指定店铺下全部商品详细信息(实时价格、尺码、库存等) 超详细(思路篇)!
前言
前段时间需要做一个获取天猫店铺中所有商品详情的程序,包括获取对应的商品的尺码、吊牌价、实时售价(促销价)、库存等信息。自己倒是写过一些爬虫,不过对于这类电商信息的爬取倒是第一次接触,听说天猫的反爬机制比较严,并且相关教程又都是python语言的居多,正好也做完了,所以想写个java的记录下来。方便大家交流学习。
- 使用工具: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爬虫爬取天猫指定店铺下全部商品详细信息(实时价格、尺码、库存等) 超详细(思路篇)!相关推荐
- Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情
Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --><d ...
- 爬一个人的所有微博 python_Python爬虫--爬取微博指定用户主页下的所有图片
Python爬虫--爬取微博指定用户主页下的所有图片 写在前面 最近比较无聊,冒出来一个想法,去各大图片网站爬取大妹子的图片,然后自己写个简单的网站,按网站分类显示图片,第一个想到的是爬取知乎问题下面 ...
- java爬虫爬取笔趣阁小说
java爬虫爬取笔趣阁小说 package novelCrawler;import org.jsoup.Connection; import org.jsoup.HttpStatusException ...
- 我的第一个开源项目:Java爬虫爬取旧版正方教务系统课程表、成绩表
Java爬虫爬取旧版正方教务系统课程表.成绩表 一.项目展示 1.正方教务系统 首页 2.爬虫系统 首页: 成绩查询: 课表查询: 二.项目实现 1.爬取思路描述 无论是成绩查询或课表查询亦或者其它的 ...
- python java 爬数据_如何用java爬虫爬取网页上的数据
当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...
- Java爬虫 爬取某招聘网站招聘信息
Java爬虫 爬取某招聘网站招聘信息 一.系统介绍 二.功能展示 1.需求爬取的网站内容 2.实现流程 2.1数据采集 2.2页面解析 2.3数据存储 三.获取源码 一.系统介绍 系统主要功能:本项目 ...
- Java爬虫爬取wallhaven的图片
Java爬虫爬取wallhaven的图片 参考文章:JAVA Jsoup爬取网页图片下载到本地 需要的jar包:jsuop wallhaven网站拒绝java程序访问,所以要伪装报头. 发送请求时 C ...
- Java爬虫 --- 爬取王者荣耀英雄图片
Java爬虫 - 爬取王者荣耀英雄图片 import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Docu ...
- python爬虫爬取大众点评店铺简介信息
python爬虫爬取大众点评店铺简介信息 写作目的: 爬取目标 大众点评的保护机制 应对方法 还存在的问题 写作目的: 今天帮朋友一个忙,要爬取一些大众点评上的数据.结果发现大众点评的防爬机制还挺多的 ...
最新文章
- Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
- 比较两个title是否相等(差点把我送走)
- 将php源码修改成存在注入的源码,天融信关于ucms系统存在代码注入漏洞的分析...
- sql语言特殊字符处理
- ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services
- 边开发就能边测试?一招教你在linux服务器配置Jenkins持续集成神器
- java沙盒模式_JavaScript学习笔记(二十五) 沙箱模式
- 鸿蒙2.0系统刷机包,鸿蒙系统2.0刷机包
- vue页面引用echart的词云图
- 【前端】使用html+css+js实现的乞丐版跳一跳
- ros使用usb摄像头追踪ArUco markers
- 详解 .Net6 Minimal API 的使用方式
- 新的一年软件测试行业的趋势能够更好?
- Python数据库篇
- Unity资源加载发布到移动端iphone/ipad
- 地铁时光机第一阶段冲刺四
- JZOJ 3388. 【NOIP2013模拟】绿豆蛙的归宿
- 考虑气流动力学的电-气综合能源系统可靠性评估
- 华为mate30epro支不支持鸿蒙,听我一句劝,华为手机可以支持,但这4款不要买
- 世界上最常用的几种语言