数据解析

每页有24条数据,一般都是显示400页。考虑到太靠后的数据参考意义不大,同时一般50页左右就开始需要验证码,本篇代码只处理了前面的10页。
根据不同的标签获取到对应的元素即可。评价部分稍有不同,可能有的商品还没有人评价,单独处理下。同时部分商品已售罄,加个也会不显示。

返回数据

以下列举了最后24条商品数据,运行代码可以获取更多,前面10页的数据全都可以打印出来。如果需要保存到数据库,直接save以下就行。为了直观,本篇没有引入jpa。

商品217
商品详情:https://www.amazon.cn/-/zh/dp/B07PHB491R/ref=ice_ac_b_dpb?dchild=1&qid=1634133606&s=electronics&sr=1-217
ASIN:B07PHB491R
UUID:96e566ba-6231-47c0-9ae3-4727c4c1a365
封面图片:https://m.media-amazon.com/images/I/71Xu5kRT4XL._AC_UL320_.jpg
名称:YUNSONG iPhone 充电器,3 件装 6 英尺(约 1.9 米)尼龙编织闪电数据线快速充电高速数据同步 USB 线兼容 iPhone 13 12 11 Pro Max XS XR X 8 7 6S 6 Plus SE 5S
评分:4.2 颗星,最多 5 颗星
评价人数:59608
价格:US$9.98

===================================

商品218
商品详情:https://www.amazon.cn/-/zh/dp/B01LGY2P56/ref=sr_1_218?dchild=1&qid=1634133606&s=electronics&sr=1-218
ASIN:B01LGY2P56
UUID:45bc3078-ef53-4f35-a993-86933f4fbf7f
封面图片:https://m.media-amazon.com/images/I/81Gwo89-YnL._AC_UL320_.jpg
名称:Ailun 0.25 毫米玻璃屏幕保护膜,适用于 iPhone SE 2020 第二代、iPhone 8、7、6s、6、4.7 英寸 3 件装透明
评分:4.5 颗星,最多 5 颗星
评价人数:26244
价格:US$6.88

===================================

商品219
商品详情:https://www.amazon.cn/-/zh/dp/B00WD017BG/ref=sr_1_219?dchild=1&qid=1634133606&s=electronics&sr=1-219
ASIN:B00WD017BG
UUID:4649bddd-9604-4fa9-a87b-be805cd906c8
封面图片:https://m.media-amazon.com/images/I/71lS1WCyjcL._AC_UL320_.jpg
名称:Cat 6 扁平以太网电缆,白色 – 超薄而长的网路电缆 – Jadaol 快速以太网接插线 – 带无障碍 Rj45 连接器
评分:4.7 颗星,最多 5 颗星
评价人数:25408
价格:US$19.99

===================================

商品220
商品详情:https://www.amazon.cn/-/zh/dp/B087R97MM2/ref=sr_1_220?dchild=1&qid=1634133606&s=electronics&sr=1-220
ASIN:B087R97MM2
UUID:78478787-d898-413c-b3b9-d9fee03b5889
封面图片:https://m.media-amazon.com/images/I/71LoB8S53DL._AC_UL320_.jpg
名称:BlueParrott B450-XT 降噪蓝牙耳机 – 最新设计,行业领先音效和改进舒适,长无线范围,长达 24 小时的通话时间,IP54 级无线耳机
评分:4.3 颗星,最多 5 颗星
评价人数:7975
价格:US$139.99

===================================

商品221
商品详情:https://www.amazon.cn/-/zh/dp/B07D4YF3K4/ref=sr_1_221?dchild=1&qid=1634133606&s=electronics&sr=1-221
ASIN:B07D4YF3K4
UUID:580e1bb5-ca25-4bdb-b188-773988bc0833
封面图片:https://m.media-amazon.com/images/I/81hjsUgSXbL._AC_UL320_.jpg
名称:Neenah 卡片纸,8.5 英寸 x 11 英寸(约 21.6 厘米 x 27.9 厘米),100 磅/163 克,白色,94 张亮度,300 张(91437)
评分:4.7 颗星,最多 5 颗星
评价人数:6994
价格:US$24.98

===================================

商品222
商品详情:https://www.amazon.cn/-/zh/dp/B07FM8R7J1/ref=sr_1_222?dchild=1&qid=1634133606&s=electronics&sr=1-222
ASIN:B07FM8R7J1
UUID:d2d12e8b-3473-4e47-8e4e-3f5a88d3dfd5
封面图片:https://m.media-amazon.com/images/I/613TRvtyAvL._AC_UL320_.jpg
名称:TOZO W1 无线充电器薄航空铝电脑数字控制技术快速充电板黑色(无交流适配器)
评分:4.4 颗星,最多 5 颗星
评价人数:67516
价格:US$11.98

===================================

商品223
商品详情:https://www.amazon.cn/-/zh/dp/B08MTSKWNX/ref=sr_1_223?dchild=1&qid=1634133606&s=electronics&sr=1-223
ASIN:B08MTSKWNX
UUID:b5925d59-6228-4409-be6a-f11a530a3087
封面图片:https://m.media-amazon.com/images/I/517rETJ2x5L._AC_UL320_.jpg
名称:[Apple MFi 认证] iPhone 快速充电器,Veetone 20W PD Type C 电源壁式充电器旅行插头,带 6FT USB C 到闪电快速充电同步线,兼容 iPhone 13/12/11/XS/XR/X 8/SE 2020/iPad
评分:4.5 颗星,最多 5 颗星
评价人数:7738
价格:US$19.99

===================================

商品224
商品详情:https://www.amazon.cn/-/zh/dp/B06VX1PKQ7/ref=sr_1_224?dchild=1&qid=1634133606&s=electronics&sr=1-224
ASIN:B06VX1PKQ7
UUID:8f4c69be-c610-403e-aa21-483be15d2e9c
封面图片:https://m.media-amazon.com/images/I/71Jl0VNxCKL._AC_UL320_.jpg
名称:HDMI 开关,GANA 3 端口 4K HDMI 交换机 3x1 开关分配器带猪尾电缆支持全高清 4K 1080P 3D 播放器
评分:4.3 颗星,最多 5 颗星
评价人数:33721
价格:列表未显示价格,可能无货

===================================

商品225
商品详情:https://www.amazon.cn/-/zh/dp/B09BFN6R2V/ref=sr_1_225?dchild=1&qid=1634133606&s=electronics&sr=1-225
ASIN:B09BFN6R2V
UUID:364853eb-61ba-453f-b07d-fe5cf5befa27
封面图片:https://m.media-amazon.com/images/I/71qO4PmPF1L._AC_UL320_.jpg
名称:Ferilinso 专为 iPhone 13 Pro Max 屏幕保护膜,3 件装高清钢化玻璃,带 2 件装相机镜头保护膜,保护套友好,9H 硬度,无气泡,5G 6.7 英寸,安装简单
评分:4.1 颗星,最多 5 颗星
评价人数:313
价格:US$5.89

===================================

商品226
商品详情:https://www.amazon.cn/-/zh/dp/B0843HSL56/ref=sr_1_226?dchild=1&qid=1634133606&s=electronics&sr=1-226
ASIN:B0843HSL56
UUID:9e630545-036d-44e1-b378-09d24d5ace96
封面图片:https://m.media-amazon.com/images/I/71ebAC1I5WL._AC_UL320_.jpg
名称:HP 惠普 206A | W2110A | 碳粉盒 | 黑色
评分:4.8 颗星,最多 5 颗星
评价人数:903
价格:US$62.89

===================================

商品227
商品详情:https://www.amazon.cn/-/zh/dp/B089LDX88M/ref=sr_1_227?dchild=1&qid=1634133606&s=electronics&sr=1-227
ASIN:B089LDX88M
UUID:41a42907-d408-41c1-822b-5f376ed7ac60
封面图片:https://m.media-amazon.com/images/I/71bqqZm3EKS._AC_UL320_.jpg
名称:AINOPE 车载手机支架支架,2021 升级重力手机支架,适用于汽车通风口,带升级挂钩夹,自动锁免提通风口手机车载支架,兼容 4-7 英寸智能手机
评分:4.4 颗星,最多 5 颗星
评价人数:9372
价格:US$16.99

===================================

商品228
商品详情:https://www.amazon.cn/-/zh/dp/B08M5C86NL/ref=sr_1_228?dchild=1&qid=1634133606&s=electronics&sr=1-228
ASIN:B08M5C86NL
UUID:11c205a0-5134-4419-b462-0157daf9cfd6
封面图片:https://m.media-amazon.com/images/I/41MD6D7yZvS._AC_UL320_.jpg
名称:USB C 充电器,Anker 32W 2 端口充电器,带 20W USB C 电源适配器,PowerPort PD 2 带可折叠插头,适用于 iPad/iPad Mini,适用于 iPhone 13/13 Mini/13 Pro/13 Pro Max/12/11、Pixel、Galaxy等
评分:4.8 颗星,最多 5 颗星
评价人数:1419
价格:US$23.99

===================================

商品229
商品详情:https://www.amazon.cn/-/zh/dp/B082X6N8PD/ref=sr_1_229?dchild=1&qid=1634133606&s=electronics&sr=1-229
ASIN:B082X6N8PD
UUID:26f4e2b5-7fb1-4bfc-9d24-584c2540ef3b
封面图片:https://m.media-amazon.com/images/I/71GsOOyGGiL._AC_UL320_.jpg
名称:WAITIEE 无线充电器 3 合 1,15W 快速充电站,适用于 Apple iWatch SE/6/5/4/3/2,AirPods Pro,兼容 iPhone 13/12/12 Pro Max/11 系列/XS Max/XR/XS/X/8/8 Plus/Samsung Galaxy (黑色)
评分:4.3 颗星,最多 5 颗星
评价人数:31236
价格:US$31.99

===================================

商品230
商品详情:https://www.amazon.cn/-/zh/dp/B07QZ4Z3X9/ref=sr_1_230?dchild=1&qid=1634133606&s=electronics&sr=1-230
ASIN:B07QZ4Z3X9
UUID:fc984716-4f14-477a-9166-12bc5e5e9af2
封面图片:https://m.media-amazon.com/images/I/711-hEL7EcL._AC_UL320_.jpg
名称:HP 惠普 58X | CF258X | 碳粉盒 | 黑色 | 适用于 HP LaserJet Pro M404 系列、M428 系列 | 高产量
评分:4.7 颗星,最多 5 颗星
评价人数:571
价格:US$221.89

===================================

商品231
商品详情:https://www.amazon.cn/-/zh/dp/B07H48412Q/ref=sr_1_231?dchild=1&qid=1634133606&s=electronics&sr=1-231
ASIN:B07H48412Q
UUID:2baeabcc-50ae-43ef-8853-36864879afe9
封面图片:https://m.media-amazon.com/images/I/81edSZTyyDL._AC_UL320_.jpg
名称:SanDisk 闪迪 128GB Extreme SDXC UHS-I 卡 - C10,U3,V30,4K UHD,SD 卡 - SDXV5-128G-GNCIN
评分:4.8 颗星,最多 5 颗星
评价人数:41664
价格:列表未显示价格,可能无货

===================================

商品232
商品详情:https://www.amazon.cn/-/zh/dp/B08FDPW8KR/ref=sr_1_232?dchild=1&qid=1634133606&s=electronics&sr=1-232
ASIN:B08FDPW8KR
UUID:224f4dc5-2db1-4e76-98c3-e9362e0a02c1
封面图片:https://m.media-amazon.com/images/I/81qTTdKhiOL._AC_UL320_.jpg
名称:Ortizan 便携式蓝牙音箱,IPX7 防水无线音箱带 24W 响亮立体声,户外扬声器带蓝牙 5.0,30H 播放时间,66 英尺蓝牙范围,双配对,适用于家庭
评分:4.5 颗星,最多 5 颗星
评价人数:6125
价格:US$36.99

===================================

商品233
商品详情:https://www.amazon.cn/-/zh/dp/B07Z5NLHNV/ref=sr_1_233?dchild=1&qid=1634133606&s=electronics&sr=1-233
ASIN:B07Z5NLHNV
UUID:4848bc74-f2cf-40bd-a79e-1e64d588722d
封面图片:https://m.media-amazon.com/images/I/51mVRLVpGtS._AC_UL320_.jpg
名称:Lightning Cable MFi 认证 - iPhone 充电器 3 件装 6 英尺(约 1.9 米)闪电转 USB A 充电线适用于 iPhone 13 12 Mini Pro Max SE 11 Xs Max XR X 8 7 6 Plus 5S iPad Pro Airpods - 白色
评分:4.5 颗星,最多 5 颗星
评价人数:20061
价格:US$13.99

===================================

商品234
商品详情:https://www.amazon.cn/-/zh/dp/B08DFPV5Y2/ref=sr_1_234?dchild=1&qid=1634133606&s=electronics&sr=1-234
ASIN:B08DFPV5Y2
UUID:0803214f-8090-460c-827f-5cbb2d76d03e
封面图片:https://m.media-amazon.com/images/I/61ZXwnqqOuS._AC_UL320_.jpg
名称:Fitbit Versa 3 健康与健身智能手表,带 GPS,24/7 心率,内置 Alexa ,6 天以上电池,黑色/黑色,均码(含长表带)
评分:4.5 颗星,最多 5 颗星
评价人数:22858
价格:US$227.90

===================================

商品235
商品详情:https://www.amazon.cn/-/zh/dp/B07RXVHKKV/ref=sr_1_235?dchild=1&qid=1634133606&s=electronics&sr=1-235
ASIN:B07RXVHKKV
UUID:c21e6260-aa3e-499a-a7b2-4627b6881cd4
封面图片:https://m.media-amazon.com/images/I/71lVvicyxGS._AC_UL320_.jpg
名称:iPhone 充电器 10 英尺,3 件装超长闪电线,MFi 认证 iPhone 充电器线 10 英尺(约 3.0 米)充电线 适用于 iPhone 12 11 Pro X XS Max XR/8 Plus/7 Plus/6/6s Plus/5s /5c/iPad Mini Air(金色)
评分:4.6 颗星,最多 5 颗星
评价人数:35752
价格:US$13.97

===================================

商品236
商品详情:https://www.amazon.cn/-/zh/dp/B015H31W60/ref=sr_1_236?dchild=1&qid=1634133606&s=electronics&sr=1-236
ASIN:B015H31W60
UUID:c3e38bfb-eecb-425c-81b9-1b75d1c36d2e
封面图片:https://m.media-amazon.com/images/I/71O+kU5pdXL._AC_UL320_.jpg
名称:HP 惠普 26A | CF226A | 碳粉盒 | 黑色 | 适用于 HP LaserJet Pro M402 系列、M426 系列
评分:4.8 颗星,最多 5 颗星
评价人数:1224
价格:US$126.89

===================================

商品237
商品详情:https://www.amazon.cn/-/zh/dp/B000AJIF4E/ref=sr_1_237?dchild=1&qid=1634133606&s=electronics&sr=1-237
ASIN:B000AJIF4E
UUID:8843c14b-24ee-41ce-869d-f98279de9209
封面图片:https://m.media-amazon.com/images/I/81TzTAx8weL._AC_UL320_.jpg
名称:SONY 索尼 MDR7506 专业大型隔膜耳机
评分:4.8 颗星,最多 5 颗星
评价人数:16359
价格:US$98.79

===================================

商品238
商品详情:https://www.amazon.cn/-/zh/dp/B07X37CG9V/ref=sr_1_238?dchild=1&qid=1634133606&s=electronics&sr=1-238
ASIN:B07X37CG9V
UUID:5c3cb27d-e2ad-4c35-8933-796a117cb0f3
封面图片:https://m.media-amazon.com/images/I/81bnp9oosVL._AC_UL320_.jpg
名称:PowerBear 4K HDMI 电缆 10 英尺(约 3 米)| 高速 HDMI 电缆,编织尼龙和金色连接器,4K @ 60Hz,超高清,2K,1080P,ARC 和 CL3 额定 | 适用于笔记本电脑、显示器、PS5、PS4、Xbox One、Fire TV 等
评分:4.7 颗星,最多 5 颗星
评价人数:41112
价格:US$9.99

===================================

商品239
商品详情:https://www.amazon.cn/-/zh/dp/B08R8GBWQ1/ref=sr_1_239?dchild=1&qid=1634133606&s=electronics&sr=1-239
ASIN:B08R8GBWQ1
UUID:9655729a-5c0b-4438-90e4-d5b68e794dab
封面图片:https://m.media-amazon.com/images/I/61f2LyMPskL._AC_UL320_.jpg
名称:MIFA True 无线耳塞 TWS 蓝牙耳机 立体声耳机 30 小时播放时间 无线充电盒 电源显示 防汗双蓝牙 5.0 耳机 内置麦克风 适用于运动
评分:4.6 颗星,最多 5 颗星
评价人数:15457
价格:US$34.99

===================================

商品240
商品详情:https://www.amazon.cn/-/zh/dp/B07NZZZ746/ref=sr_1_240?dchild=1&qid=1634133606&s=electronics&sr=1-240
ASIN:B07NZZZ746
UUID:3c4b43ba-0d70-4277-b8c9-bcd2abaeb87e
封面图片:https://m.media-amazon.com/images/I/71nozlRTz3L._AC_UL320_.jpg
名称:HyperX QuadCast - USB 电容游戏麦克风,适用于 PC、PS4、PS5 和 Mac,防震防震支架,四极模式,Pop 过滤器,增益控制,播客,Twitch,YouTube,Discord,红色 LED
评分:4.8 颗星,最多 5 颗星
评价人数:14804
价格:US$117.14

===================================

Java代码

特殊说明的是,获取商品列表的class会不定期的变动,下述代码仅供参考,可以换用其他标签或者属性的方式获取列表内容。

import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class AmazonTest6 {

	public static void main(String[] args) throws Exception {
		String url = "https://www.amazon.com/-/zh/s?bbn=16225009011&rh=i%3Aspecialty-aps%2Cn%3A%2116225009011%2Cn%3A281407&ref_=nav_em__nav_desktop_sa_intl_accessories_and_supplies_0_2_5_2";
		for (int i = 1; i <= 10; i++) {
			CookieStore store = new BasicCookieStore();
			CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(store).build();
			System.out.println(url);
			url = printInfo(url, httpclient);
		}

	}

	static int i = 1;

	// 返回的是下一页的url
	static String printInfo(String url, CloseableHttpClient httpclient) throws Exception {
		HttpGet get = new HttpGet(url);
		get.addHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8");
		get.addHeader("user-agent",
				"Mozilla/5.0(Macintosh;IntelMacOSX10_13_4)AppleWebKit/537.36(KHTML,likeGecko)Chrome/81.0.4044.138Safari/537.36");
		CloseableHttpResponse rese = httpclient.execute(get);
		String redsa = EntityUtils.toString(rese.getEntity());
		Document doc = Jsoup.parse(redsa);
		Elements goodsEles = doc.getElementsByClass("sg-col-4-of-12 s-result-item s-asin sg-col-4-of-16 sg-col s-widget-spacing-small sg-col-4-of-20");
		for (Element goodsEle : goodsEles) {
			System.out.println("商品" + i++);

			String detailUrl = "https://www.amazon.cn" + goodsEle.getElementsByTag("a").first().attr("href");
			System.out.println("商品详情:" + detailUrl);

			String asin = goodsEle.attr("data-asin");
			System.out.println("ASIN:" + asin);

			String uuid = goodsEle.attr("data-uuid");
			System.out.println("UUID:" + uuid);

			String img = goodsEle.getElementsByTag("img").first().attr("src");
			System.out.println("封面图片:" + img);

			String name = goodsEle.getElementsByTag("h2").first().text();
			System.out.println("名称:" + name);

			Element starEle = goodsEle.getElementsByClass("a-icon-alt").first();
			if (starEle != null) {
				String star = starEle.text();
				System.out.println("评分:" + star);

				String count = goodsEle.getElementsByClass("a-section a-spacing-none a-spacing-top-micro").first()
						.getElementsByClass("a-size-base").first().text().replaceAll(",", "");
				System.out.println("评价人数:" + count);
			} else {
				System.out.println("暂无评分");
				System.out.println("评价人数:0");
			}

			Element priceEle = goodsEle.getElementsByClass("a-offscreen").first();
			if (priceEle != null) {
				String price = priceEle.text().replaceAll(",", "");
				System.out.println("价格:" + price);
			} else {
				System.out.println("价格:列表未显示价格,可能无货");
			}

			System.out.println("\n===================================\n");
		}

		String nextUrl = "https://www.amazon.com"
				+ doc.getElementsByClass("a-last").first().getElementsByTag("a").first().attr("href");
		return nextUrl;
	}

}