目录

亚马逊中国站获取全部商品分类
亚马逊中国站获取商品列表
亚马逊中国站通过ASIN获取商品信息
亚马逊中国站获取商品库存信息
亚马逊国际站获取全部商品分类
亚马逊国际站获取商品列表
亚马逊国际站处理图形验证码
亚马逊国际站通过ASIN获取商品信息
亚马逊国际站获取商品库存信息

所提供代码已经为可运行代码,但亚马逊响应数据随时会变,造成解析异常。如果使用期间遇到问题,欢迎随时沟通。可扫描下方二维码公众号留言。

声明

该方法也可能出现验证码问题,详细参照验证码处理篇,本篇不再赘述。如果仅仅是为了测试,可以简单的只修改user-agent,这样就不会出现验证码了。

两种方式介绍

通过ASIN获取商品信息至少有两种方式,第一种是进入商品详情页,第二种是通过搜索得到商品信息。

进入商品详情页

拼接访问链接:https://www.amazon.com/dp/ + asin编码,进入的页面就是商品详情页面。通过不同的标签获取到商品信息。
该方法有个小问题,亚马逊不同的商品信息详情页是不相同的,需要匹配多种情况。优点是详细信息都有,所有数据都可以拿到。

搜索ASIN搜索

拼接搜索结果链接:https://www.amazon.com/s?k= + asin编码,查询出来的结果就是对应asin编码的商品信息,和商品列表中获取到的信息基本上一致。优点是格式统一,方便获取数据;缺点是信息有限,部分数据拿不到,只能拿到列表上有的信息。同时可能出现多个推广商品,需要匹配下ASIN值是否相等。

打印的数据

测试两种方式打印的数据,ASIN编码使用的“B09B52572Z”,替换了几个也能成功。

名称:iPhone 充电器,5 件装(10 英尺)VODRAIS [Apple MFi 认证] 充电器闪电转 USB 数据线兼容 iPhone 12/11 Pro/11/XS MAX/XR/8/7/6s/6/plus,iPad Pro/Air/Mini,iPod Touch 原始认证-白色
秒杀价:US$8.46
价格:US$10.99
========================
商品详情:https://www.amazon.cn/-/zh/dp/B09B52572Z/ref=sr_1_1?dchild=1&keywords=B09B52572Z&qid=1634144776&sr=8-1
ASIN:B09B52572Z
UUID:bc4afaaf-65f1-4dd7-ab65-d5b72622d6f9
封面图片:https://m.media-amazon.com/images/I/51Ukp-HksKL._AC_UL320_.jpg
名称:iPhone 充电器,5 件装(10 英尺)VODRAIS [Apple MFi 认证] 充电器闪电转 USB 数据线兼容 iPhone 12/11 Pro/11/XS MAX/XR/8/7/6s/6/plus,iPad Pro/Air/Mini,iPod Touch 原始认证-白色
评分:4.5 颗星,最多 5 颗星
评价人数:3036
价格:US$8.46

Java代码

注意,如果不携带中文首页的cookie,打印出来的内容就会是英文。为了显示中文,代码中都是先进入了一次中文首页,然后再携带cookie继续请求。

import java.util.Objects;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 AmazonTest8 {public static void main(String[] args) throws Exception {printInfo1("B09B52572Z");System.out.println("========================");printInfo2("B09B52572Z");}static void printInfo1(String asin) throws Exception {CookieStore store = new BasicCookieStore();CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(store).build();HttpGet get = new HttpGet("https://www.amazon.com/?language=zh_CN");get.addHeader("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1");get.addHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8");httpclient.execute(get);get = new HttpGet("https://www.amazon.com/dp/" + asin);get.addHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8");get.addHeader("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1");CloseableHttpResponse rese = httpclient.execute(get);String redsa = EntityUtils.toString(rese.getEntity());Document doc = Jsoup.parse(redsa);String title = doc.getElementById("productTitle").text();System.out.println("名称:" + title);Element priceEle = doc.getElementById("priceblock_saleprice");if(priceEle == null) {priceEle = doc.getElementById("mbc-price-1");if(doc.getElementById("priceblock_dealprice") != null) {System.out.println("秒杀价:" + doc.getElementById("priceblock_dealprice").text());}}if(priceEle != null) {String price = priceEle.text();System.out.println("价格:" + price);}}static void printInfo2(String asin) throws Exception {CookieStore store = new BasicCookieStore();CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(store).build();HttpGet get = new HttpGet("https://www.amazon.com/?language=zh_CN");get.addHeader("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1");get.addHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8");httpclient.execute(get);get = new HttpGet("https://www.amazon.com/s?k=" + asin);get.addHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8");get.addHeader("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1");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");Element goodsEle = null;for(int i = 0; i < goodsEles.size(); i++) {String asins = goodsEles.get(i).attr("data-asin");if(Objects.equals(asins, asin)) {goodsEle = goodsEles.get(i);break;}}String detailUrl = "https://www.amazon.cn" + goodsEle.getElementsByTag("a").first().attr("href");System.out.println("商品详情:" + detailUrl);String asins = goodsEle.attr("data-asin");System.out.println("ASIN:" + asins);String uuid = goodsEle.attr("data-uuid");System.out.println("UUID:" + uuid);String img = goodsEle.getElementsByTag("img").first().attr("src");System.out.println("封面图片:" + img);String subTitle = goodsEle.getElementsByTag("h2").first().text();System.out.println("名称:" + subTitle);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");}String price = goodsEle.getElementsByClass("a-offscreen").first().text().replaceAll(",", "");System.out.println("价格:" + price);}}

亚马逊国际站通过ASIN获取商品信息相关推荐

  1. 亚马逊国际站获取商品列表

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

  2. 亚马逊中国站通过ASIN获取商品信息

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

  3. 亚马逊国际站获取全部商品分类

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

  4. 亚马逊国际站获取商品库存信息

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

  5. 亚马逊国际站处理图形验证码

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

  6. 如何采集亚马逊国际站的商品信息

    跨境电商必看:亚马逊商品采集爬虫(国际进阶版)推荐– 神箭手云爬虫 -一站式云端通用爬虫开发平台 面对电商网站每日新增的海量数据,人工收集数据的方式早已被淘汰.当电商网站遭遇神箭手,会给跨境电商企业带 ...

  7. 亚马逊违反受限商品政策三次,亚马逊恢复受限asin

    对于违背亚马逊受限产品方针的处分,亚马逊是这样说的: 如果您出售的产品违背了法令或亚马逊的任何方针(包括出售受限产品页面上列出的产品),咱们将根据情况采纳纠正措施,包括但不限于马上暂停或停止出售权限. ...

  8. 亚马逊MWS开发--上传商品常见错误

    一.错误来源 不管通过哪种方式上传商品都会出现各种问题,每一类问题亚马逊都有固定的错误码,比如常见5000,8541等,这些错误都会体现在上传的结果报告中 <?xml version=" ...

  9. 亚马逊中国站获取商品列表

    目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处 ...

最新文章

  1. P2473 [SCOI2008]奖励关
  2. 树状数组之区间修改单点查询
  3. tg3269c网卡驱动linux,TP-Link3269C网卡驱动官方版
  4. Openjudge-计算概论(A)-放苹果
  5. 图网络笔记-知识补充与node2vec代码注解
  6. mediamind SyncAds
  7. python日常能做什么-为什么Python这么火?看看它能做什么你就知道了
  8. Java I/O系统之Writer
  9. 企业高层对IT部门的需求
  10. 让 WAS V6.1 的 JSP 编译器用 JDK5.0
  11. Linux下安装JDK并配置环境变量
  12. QQ语音老是连接服务器超时,手机QQ提示连接超时请检查网络设置解决办法
  13. 新、JQ知识点笔记整理。
  14. OpenCV之光流法运动目标跟踪
  15. Android Studio下拉菜单
  16. 美团/饿了么外卖CPS联盟返利公众号小程序核心源码
  17. 数据库decimal对应java什么类型_数据库字段类型和Java的对应关系
  18. 15款最佳的MySQL管理工具和应用程序
  19. 记flume部署过程中遇到的问题以及解决方法(持续更新)
  20. 三校生模拟计算机试题,三校生高考计算机模拟试卷(一).doc

热门文章

  1. mysql慢日志查询的阈值_mysql慢日志查询
  2. js 全屏与退出全屏
  3. 国外问卷调查,一个不错的网上兼职项目
  4. require.js库
  5. display:none和visibility:hidden的区别
  6. Introduction to Fabric.js/ Part 8 - Clipping with clipPaths(介绍Fabric.js第八部分-剪裁)
  7. Multisim基础 有极性的电容 添加元件的位置
  8. 自然语言处理--gensim.word2vec 模块加载使用谷歌的预训练模型googlenews-vectors-negative300.bin.gz
  9. 爱上Axure之软件基础视频教程-昝磊-专题视频课程
  10. 简单的java单位换算_Java实现蓝桥杯单位转换