下载苹果特别活动发布会logo彩绘图片

1.问题引入:疯狂的logo苹果公司将在美国东部时间(EDT)10月30日上午10点(对应北京时间同日晚上10点),在纽约布鲁克林音乐学院,举行一场取名“苹果特别活动”(AppleSpecialEvent)的发布会。引起媒体关注的,不是发布会将发布的具体产品内容,而是各种苹果logo图案。

如上图,苹果商品彩绘logo每次刷新会不一样。2.图片url地址分析2.1分析DOM文档首先想到的就是查看该图片所对应的web元素,找到其url。鼠标移动到logo图片位置处,点击右键,然后选择检查元素,分析该元素对应的DOM对象。

然而对应的DOM文档为这里完全没有包含任何url信息。这就说明,图片的url地址不在html中。2.2浏览器抓包分析html文件中没有,那么就得通过抓包分析图片的url。选择开发人员工具中的网络标签,刷新页面,找到下载该图片的网络请求:

选择该请求的Headers标签,第一项就是对应的请求url:https://www.apple.com/v/apple-events/home/a/images/overview/hero_image_09__r8jeder0waau_small_2x.jpg。

复制该url到浏览器地址栏中打开,确认得到的就是浏览器https://www.apple.com/apple-events/页面当前显示的logo图片。然而该url是从哪里传来的呢?浏览器的开发人员工具就显得不够用了。2.3Charles抓包分析这时我们就需要救助强大的抓包工具Charles了。来,让我们点上阿拉灯神丁,召唤Charles。

然后在浏览器中刷新网页https://www.apple.com/apple-events/,仿照上一步,在浏览器开发人员工具中找到当前图片url地址,比如此时是https://www.apple.com/v/apple-events/home/a/images/overview/hero_image_01__pj9kqyeokxu2_small_2x.jpg。

其中有两处匹配项是下载该图片的请求,我们此时不需要。而另外的匹配项,定位在文件中,对应的url地址https://www.apple.com/v/apple-events/home/a/built/styles/overview.built.css。

双击匹配项,定位到.css文件中。选择Charles底部的CSS标签,可以看到排版漂亮的css文件,我们需要的图片url就在该文件中。选择Charles顶部的Overview标签,第一项就是该css文件的url地址。我们通过该url地址就可以下载css文件,然后分析css文件就能定位logo的url了。

于是,我们通过re.finditer()遍历每个图片的相对url,然后拼接出完整url,通过完整url下载图片保存即可。(文件夹apple_logoes请提前准备好)最后的完整代码如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181030A1UKJ600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券