如何抓取Amazon大图
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大图的更多相关文章
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(3): 抓取amazon.com价格
通过上一篇随笔的处理,我们已经拿到了书的书名和ISBN码.(网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息 ...
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息及ISBN码
这一篇首先从allitebooks.com里抓取书籍列表的书籍信息和每本书对应的ISBN码. 一.分析需求和网站结构 allitebooks.com这个网站的结构很简单,分页+书籍列表+书籍详情页. ...
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup
开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...
- Amazon关键词抓取
亚马逊的网址构造很简单,几乎算是静态的网页,花费3小时完美收工,不要在意细节! 在python3下利用xpath就可以完美解决 xpath的使用方法请见: python之lxml(xpath) 入口图 ...
- async 异步抓取 花瓣网高清大图 30s爬取500张
废话 不多说,直接上代码,不懂得看注释 先安装 pip install aiohttp "异步抓取花瓣网图片" # pip install aiohttp import requ ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...
- Hawk: 无编程抓取淘女郎的所有高清照片
1.这是什么鬼? 哦?美女? 最近看了这一篇文章:http://cuiqingcai.com/1001.html 大概说的是用Python和Pyspider(这货好像是我的一位师兄写的,吓尿),抓取淘 ...
- R语言XML包的数据抓取
htmlParse 函数 htmlParse加抓HTML页面的函数. url1<-"http://www.caixin.com/"url<-htmlParse(url1 ...
- php抓取ajax页面返回图片。
要抓取的页面:http://pic.hao123.com/ 当我们往下滚动的时候,图片是用ajax来动态获取的.这就需要我们仔细分析页面了. 可以看到,异步加载的ajax文件为: http://pic ...
随机推荐
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem C (Codeforces 831C) - 暴力 - 二分法
Polycarp watched TV-show where k jury members one by one rated a participant by adding him a certain ...
- 前端 --- 6 jQuery 初始
一.引入方式 1.直接下载文件到本地(最常用),从本地中导入 2.使用文件的网络地址,就像我们img标签里面的那个src的用法差不多. 引入完之后,就可以直接使用jQuery的语法来写了,但是还是要写 ...
- Click()与Submit()
<input type="button" /> 定义可点击的按钮,但没有任何行为.如果你不写javascript 的话,按下去什么也不会发生. button 类型常用于 ...
- 配置Jenkins 实现自动发布maven项目至weblogic(svn+maven+weblogic12c)
Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放weblogic的7001端口 Linux(CentOS):firewall-cmd --zone=publ ...
- Restful framework【第三篇】序列化组件
基本使用 -序列化 -对象,转成json格式 用drf的序列化组件 -定义一个类继承class BookSerializer(serializers.Serializer): -写字段,如果不指定so ...
- Android系统更新防互刷功能实现与分析【转】
本文转载自:https://blog.csdn.net/huangyabin001/article/details/44465145 版权声明:本文为博主原创文章,未经博主允许不得转载. htt ...
- linux内核中宏likely和unlikely到底做了些什么?
1. 先看看它们长啥样吧!(它们有两种定义,第一种是使能了程序trace功能的宏定义,第二种是普通的宏定义,咱们分析普通宏定义吧) # define likely(x) __builtin_expec ...
- npm的安装和使用?
参考: http://www.cnblogs.com/chyingp/p/npm.html 在css中使用变量, 采用less或sass来编译css 改变网页网站开发和构建的方式, 除了用emmet( ...
- ES6数字操作
数字判断和转换 数字验证Number.isFinite( xx ) 可以使用Number.isFinite( )来进行数字验证,只要是数字,不论是浮点型还是整形都会返回true,其他时候会返回fals ...
- MTP 写字机器
目标 无意中看到下面视频,我打算也实现一个类似机器 视频.视频2.视频3 来源于油管Creativity Buzz的创意,顺便了解到有家AxiDraw公司在生产这种机器,淘宝上也有售卖. 想法 观看视 ...