通过电商API接口用Requests+Cookie,轻松获取淘宝商品数据!

最近身边一直有朋友说用Selenium无法爬取淘宝的商品数据了,问问有没有其他的爬取方式,来获取淘宝的商品数据。方法当然有了,下面我就给大家介绍一个电商API接口Requests+Cookie来获取淘宝数据的方法。

构造URL

我们进入到淘宝商品数据页面,按F12打开开发者模式,对页面进行观察,我们发现淘宝页面是Ajax方式加载的,而且它的接口参数很复杂且没有固定的规律,但是Selenium又被淘宝反爬限制了,所以我们不能使用Ajax来获取商品数据。

在这时,我突然发现页面的数据在源网页里面存放着。如图:

发现数据在源网页中进行存储,使得我们解决了URL的构造问题。但是又有一个新的问题来了,就是在我们进入商品页面时需要登录,如果我们直接用Requests去访问商品页面的话,是会被淘宝的反爬所限制的,所以我们现在要解决这个问题。

登录爬取

当我们将Requests和Cookie构造好,我们尝试对商品网页发送请求,我们发现可以请求到数据了,并且也没有被反爬限制。我们终于解决了反爬带来的困扰,现在就只需要将数据爬取下来并存储就大功告成了!

提取数据

我们通过对数据存储方式进行观察发现,用正则表达式来对数据进行提取是最为方便的。代码如下:

复制代码
shangpinming = re.findall('"raw_title":"(.*?)"',response.text)
jiage = re.findall('"view_price":"(.*?)"',response.text)
fahuodi = re.findall('"item_loc":"(.*?)"',response.text)
fukuanrenshu = re.findall('"view_sales":"(.*?)人付款"',response.text)
dianpumingcheng = re.findall('"nick":"(.*?)"',response.text)

数据存储

我们这里直接放入代码:

复制代码
csv_file = open('pingban_1.csv', 'a', newline='', encoding='utf-8')
writer = csv.writer(csv_file)
for i in range(44):
   try:
       writer.writerow([dianpumingcheng[i],shangpinming[i],jiage[i],fahuodi[i],fukuanrenshu[i]])
       with open('shangpinmingcheng_1.txt','a',encoding='utf-8') as f:
           f.write(shangpinming[i])
   except:
       pass
csv_file.close()

让我们来看看存储的数据:

结论

  1. 本文详细的介绍了如何用Requests+Cookie来获取淘宝数据,请读者仔细阅读,并加以操作。
相关推荐
健康平安的活着16 分钟前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
AndrewHZ22 分钟前
【3D重建技术】如何基于遥感图像和DEM等数据进行城市级高精度三维重建?
图像处理·人工智能·深度学习·3d·dem·遥感图像·3d重建
飞哥数智坊29 分钟前
Coze实战第18讲:Coze+计划任务,我终于实现了企微资讯简报的定时推送
人工智能·coze·trae
Java小白程序员39 分钟前
Spring Framework :IoC 容器的原理与实践
java·后端·spring
WBluuue43 分钟前
数学建模:智能优化算法
python·机器学习·数学建模·爬山算法·启发式算法·聚类·模拟退火算法
Code_流苏1 小时前
AI热点周报(8.10~8.16):AI界“冰火两重天“,GPT-5陷入热议,DeepSeek R2模型训练受阻?
人工智能·gpt·gpt5·deepseek r2·ai热点·本周周报
2501_930104041 小时前
GitCode 疑难问题诊疗:全方位指南
大数据·elasticsearch·gitcode
xuTao6671 小时前
Easy Rules 规则引擎详解
java·easy rules
赴3351 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩1 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp