又来折腾亚马逊了......

从最近的几次爬取亚马逊的情况来看,数据获取难度还算是一般,恶心的就在数据处理方面,一堆的JS,HTML等等罗列在一起。不怎么费脑子,但是费眼。

正文开始。

一、请求分析

特惠信息页面:/gp/goldbox

照例,打开开发者模式,清除cookie,然后再次请求:

就直接查看这个当前页的请求,预览的时候发现并没有数据:

为了避嫌该打码的地方都打了,求审核高抬贵手

但是我在另外的请求发现了想要的数据:

https://data.xxx.com/api/marketplaces/ATVPDKIKX0DER/deals/2ba64a89,0164bea5,cc744f0c,cd92d862,ee824116,3169c9f5,78d7cbde,340b91b0,e5663819,d1dcecb2,5cbe503e,322beb76,20a10f2c,8772f291,a4653316,e7c24724,5e7ed3bf,8e249c83,b7aca80c,5f003b5e,a03fb361,cdfb36cd,14807e7b,03b1853a,6a4292e7,d7c52de3,18cf263d,cb0186a7,528ae49c,d465196c

于是我搜索了一下这个请求其中的一个参数2ba64a89,发现了数据还是藏在刚才请求的连接了,主要是数据太杂,没有发现:

那么就直接请求就行了。

二、发送请求

简简单单的get请求,直接贴上代码:

def getAmazon():url = 'https://www.amazon.com/gp/goldbox'headers = {'authority': 'www.amazon.com','accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',}res = requests.get(url=url,headers=headers,proxies=getApiIp())content = res.contentcontent = content.decode('utf-8')

开始费眼了,下面开始数据分析。

三、数据分析

刚才的开发者模式,将刚才请求的内容格式化,一直往下拖就能找到数据列表了:

直接上结论吧,这些信息都存储在aapiGetDealsList列表中的entities的这个列表,把里面的true和false替换成True和False之后,eval格式化之后就成了正常处理的python list了。

    Datainfo = re.findall("entities\":(.*?)}]},\"initialLoadTimeUtc",content)[0]infos = Datainfo.replace("true","True").replace("false","False")infos = eval(infos)for info in infos:print(info)

图片,价格,到期时间这些东西都在这里了。

四、写在最后

写了三期的亚马逊了,爬取了列表,评论和优惠,每次最头疼的就是数据的解析,太乱了。请求方面确实没啥太多的影响,多亏了ipidea的代理,高速稳定质量高,才能那么顺利的获取到想要的东西,新用户可以白嫖流量哦!

地址:http://www.ipidea.net/?utm-source=csdn&utm-keyword=?wb 

不用白不用

最后贴上代码吧:

def getAmazon():url = 'https://www.amazon.com/gp/goldbox'headers = {'authority': 'www.amazon.com','accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',}res = requests.get(url=url,headers=headers,proxies=getApiIp())content = res.contentcontent = content.decode('utf-8')Datainfo = re.findall("entities\":(.*?)}]},\"initialLoadTimeUtc",content)[0]infos = Datainfo.replace("true","True").replace("false","False")infos = eval(infos)for info in infos:print(info)getAmazon()

也太水了!

Python获取Amazon限时特惠信息相关推荐

  1. python硬盘api-使用python获取电脑的磁盘信息方法

    使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能. 在iPython交互界面中进行如下演示: 查看电脑的磁盘分区: I ...

  2. python获取系统内存占用信息的实例方法

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

  3. 怎么查看电脑有没有python_使用python获取电脑的磁盘信息方法

    使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能. 在iPython交互界面中进行如下演示: 查看电脑的磁盘分区: I ...

  4. python 获取硬盘信息_使用python获取电脑的磁盘信息方法

    使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能. 在iPython交互界面中进行如下演示: 查看电脑的磁盘分区: I ...

  5. python获取微信群成员信息

    python获取微信群成员信息 #!/usr/bin/python #coding: utf-8import itchat,datetime from itchat.content import TE ...

  6. 用Python获取Amazon亚马逊的商品信息

    引言 亚马逊网站相较于国内的购物网站,可以直接使用python的最基本的requests进行请求.访问不是过于频繁,在未触发保护机制的情况下,可以获取我们想要的数据.本次通过以下三部分简单介绍下基本爬 ...

  7. python获取原图GPS位置信息,轻松得到你的活动轨迹

    点击上方"AI搞事情"关注我们 一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的 ...

  8. python 获取qq群成员信息_python 获取qq群成员列表数据

    #!/usr/bin/python # -*- coding: utf-8 -*- import re import time import xlsxwriter from selenium impo ...

  9. Python获取原图GPS位置信息,轻松得到你的活动轨迹!

    一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,如拍摄时间. ...

最新文章

  1. 网络工程制图论文计算机,学习系统与工程制图论文
  2. 中科微研课题上犹授牌-农业大健康·李喜贵:谋定功能性农业
  3. 魅族怎么查看内存linux,这就是魅族超级旗舰:看燃
  4. JAVA中深拷贝与浅拷贝(在网上找到的) 希望对于理解深拷贝与浅拷贝有帮助...
  5. MODBUS通讯协议详解(基于485)
  6. Hadoop系列-分布式集群
  7. Objective-c方法调用流程
  8. 编辑器CKEditor
  9. 利用辗转相除法求两个数的最大公约数
  10. java 批量删除_mybatis批量插入、批量更新和批量删除
  11. 连接共享打印机0x0000011b win10
  12. 解决Tortoise git没有红色、绿色勾勾的问题
  13. 批量查排名的工具有哪些?网站关键词可以优化?
  14. java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
  15. 算法-经典趣题-爱因斯坦阶梯问题
  16. 钉钉小程序如何判断其当前环境
  17. 活码二维码免费平台有哪些呢?
  18. 我是没有志气的程序员
  19. Linux下C/C++实现以十六进制的形式显示命令(xxd)
  20. 【算法】二维子矩阵的和

热门文章

  1. AJAX教程@ajax
  2. 更新Edge后打开网页失败问题
  3. 脱贫摘帽攻关年,“拼多多们”扎进三农
  4. 3D human skeleton 数据集简易可视化
  5. 自动发帖程序的一些总结
  6. vue配置api代理详解与使用方法
  7. Kafka中HW和LEO增长的原理是什么?流程是怎样的?
  8. mysql怎么创建和调用out参数的存储过程
  9. 报错java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/Stri
  10. 文件上传工具类FileUploadUtils