https://www.douban.com/note/277033391/

進入到日本Amazon看到某些商品有預覽圖可以放大欣賞,當你想要右鍵下載卻發現只得到空白圖或白邊圖、縮圖、切割圖,究竟原圖在哪裡?其實Amazon大圖並不是把切割後的圖拼貼起來,而是拿原圖下去做分析,接著來看看Amazon圖片的規則性。
圖片URL的組成
先拿一個商品來分析看看 KERA! (ケラ) 2012年 05月号 [雑誌]
進入商品預覽圖視窗,查看原始碼,找出圖片網址 http://z2-ec2.images-amazon.com/images/P/B007FSZHP8.01._SX291_SCLZZZZZZZ_V135421998_.jpg

 

不過很可惜這不是原圖,但我們先來看看圖片網址的組成結構
「z2-ec2.images-amazon.com」:Amazon的圖片伺服器位址 「B007FSZHP8」:商品代碼,從商品頁面網址中也可以看到代碼 「01」:國別代碼,例如01美國、09日本,改變數字應該不會影響 「SX291」:縮圖尺寸,即使改變數字也只能得到500x500以內的圖 「SCLZZZZZZZ」:圖片的種類,也就是圖片大小,分為三種 → SCRMZZZZZZ(大)、SCLZZZZZZZ(中)、SCMZZZZZZZ(小) 「V135421998」:應該是另一種編號,可以先不用理它
以上得知圖片網址的組成是: http:// z2-ec2.images-amazon.com/images/P/[商品代碼10字元].[國別代碼2字元].[圖片尺寸]._[圖片的種類]_.jpg 然後Amazon.co.jp官方說明頁面也有提到一些規則 原來「MAIN」是指主要圖片,「PT+數字」是指其他圖片
所以再稍微改變一下組成結構,把MAIN替代[圖片尺寸]: http://z2-ec2.images-amazon.com/images/P/[商品代碼10字元].[國別代碼2字元].MAIN.[圖片的種類 ].jpg
得到組成的公式後,進行代入的動作: http://z2-ec2.images-amazon.com/images/P/B007FSZHP8.01.MAIN._SCRMZZZZZZ_.jpg

 

測試後是成功的!所以想要得到Amazon大圖,只要用下面公式去做代入就可以了: http://z2-ec2.images-amazon.com/images/P/[商品代碼].01.MAIN._SCRMZZZZZZ_.jpg
另外也可以縮減成: http://z2-ec2.images-amazon.com/images/P/[商品代碼].01.MAIN._SCRM_.jpg http://z2-ec2.images-amazon.com/images/P/[商品代碼].01._SCRM_.jpg
其他預覽圖的大圖URL組成
如果不只一張預覽圖,還想抓其他張的呢? 拿スマップ・エイド這項商品來做範例 スマップ・エイド http://www.amazon.co.jp/dp/B0056W96V6/ref=cm_sw_r_tw_dp_lOlypb1M753F2
上面有提到「PT+數字是指其他圖片」,例如PT01、PT02等等以此類推 所以再把組成公式改變一下,將PT01代替MAIN: http://z2-ec2.images-amazon.com/images/P/[商品代碼].01.PT01._SCRMZZZZZZ_.jpg 接著做代入動作 http://z2-ec2.images-amazon.com/images/P/B0056W96V6.01.PT01._SCRMZZZZZZ_.jpg

 

其他預覽圖的原圖就出來了

不過以上抓取大圖的方式其實沒有所有代碼都通用 Amazon的圖片網址還有其他規則性,本篇只是簡單敘述一下分析過程
上面說了這麼多,如果你覺得改網址很懶很麻煩,我有發現到一個網站: http://tool.horan.cc/amazon/amazon.html 直接貼網址、點按鈕就可以跑大圖網址出來了,想不想打我阿 XDDDD

如何抓取Amazon大图的更多相关文章

  1. 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(3): 抓取amazon.com价格

    通过上一篇随笔的处理,我们已经拿到了书的书名和ISBN码.(网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息 ...

  2. 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息及ISBN码

    这一篇首先从allitebooks.com里抓取书籍列表的书籍信息和每本书对应的ISBN码. 一.分析需求和网站结构 allitebooks.com这个网站的结构很简单,分页+书籍列表+书籍详情页. ...

  3. 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup

    开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...

  4. Amazon关键词抓取

    亚马逊的网址构造很简单,几乎算是静态的网页,花费3小时完美收工,不要在意细节! 在python3下利用xpath就可以完美解决 xpath的使用方法请见: python之lxml(xpath) 入口图 ...

  5. async 异步抓取 花瓣网高清大图 30s爬取500张

    废话 不多说,直接上代码,不懂得看注释 先安装  pip install aiohttp "异步抓取花瓣网图片" # pip install aiohttp import requ ...

  6. Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)

    概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...

  7. Hawk: 无编程抓取淘女郎的所有高清照片

    1.这是什么鬼? 哦?美女? 最近看了这一篇文章:http://cuiqingcai.com/1001.html 大概说的是用Python和Pyspider(这货好像是我的一位师兄写的,吓尿),抓取淘 ...

  8. R语言XML包的数据抓取

    htmlParse 函数 htmlParse加抓HTML页面的函数. url1<-"http://www.caixin.com/"url<-htmlParse(url1 ...

  9. php抓取ajax页面返回图片。

    要抓取的页面:http://pic.hao123.com/ 当我们往下滚动的时候,图片是用ajax来动态获取的.这就需要我们仔细分析页面了. 可以看到,异步加载的ajax文件为: http://pic ...

随机推荐

  1. "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to ma

    Centos7.5 ansible第一次使用模块报错 问题: [root@m01 ~]# ansible webservers -m ping -i ./hosts 172.16.1.7 | FAIL ...

  2. UFS 介绍 1[【转】

    本文转载自:https://blog.csdn.net/u014645605/article/details/52063624 硬件架构: 接口示意图: UFS 速度和emmc的对比 UFS2.1 U ...

  3. bzoj 1735: [Usaco2005 jan]Muddy Fields 泥泞的牧场 最小点覆盖

    链接 1735: [Usaco2005 jan]Muddy Fields 泥泞的牧场 思路 这就是个上一篇的稍微麻烦版(是变脸版,其实没麻烦) 用边长为1的模板覆盖地图上的没有长草的土地,不能覆盖草地 ...

  4. c# Database类的使用

    参考资料http://ansonlh.iteye.com/blog/1689009 搜索:c# DatabaseFactory类

  5. Sql Ado.net 学习笔记之连接字符串

    https://www.cnblogs.com/heng95/p/5902019.html 连接字符串 SQL Client .net数据提供程序在连接到数据库时极其灵活,它提供了多种用以生成连接字符 ...

  6. tomcat启动出现Preparing launch delegate,一直卡在100%

    本地启动项目时,Tomcat一直停留在, Starting Tomcat V8.0 Server at localhost   Preparing launch delegate...    百度可得 ...

  7. java.lang.OutOfMemoryError:GC overhead limit exceeded

    在调测程序时报java.lang.OutOfMemoryError:GC overhead limit exceeded 错误 错误原因:在用程序进行数据切割时报了该错误.由于在本地执行数据切割测试的 ...

  8. Python中的垃圾回收机制

    Python的垃圾回收机制 引子: 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,而变量名是访问到变量值的唯一方式,所以 ...

  9. 3、Python函数详解(0601)

    回顾: re search,findall,finditer.sub,subn function ()    调用函数 def func_name(arg1,....)   生成函数对象 func_s ...

  10. 1st,Python基础——01

    1 Python介绍 2 Python发展史 3 Python2 or 3? 4 Python安装 就不写了,各路大牛的博客都很详细. 5 Hello World程序 #!/usr/bin/env p ...