用Requests+Cookie,轻松获取淘宝商品数据!

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

大家好,我是志斌!

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



构造URL


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

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


34.jpg


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


提取数据


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


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()


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


35.jpg


结论


1. 本文详细的介绍了如何用Requests+Cookie来获取淘宝数据,请读者仔细阅读,并加以操作。

2. 有读者说自己构造不好请求命令中的Cookie和Headers,我给大家找了一个简单的方法就是用cURL的方式可以直接构造好请求命令。为了防止一些伸手党和不礼貌党,有需要的读者可以后台加作者微信来领取。

相关文章
|
6月前
|
JSON Android开发 数据格式
android与Web服务器交互时的cookie使用-兼谈大众点评数据获得(原创)
android与Web服务器交互时的cookie使用-兼谈大众点评数据获得(原创)
84 2
|
3月前
|
数据采集 JavaScript 前端开发
同花顺股票数据逆向:Cookie加密和Hook注入
同花顺股票数据逆向:Cookie加密和Hook注入
199 0
|
6月前
|
前端开发 Java API
饼干探秘:深入Spring MVC中获取Cookie数据的技术解析
饼干探秘:深入Spring MVC中获取Cookie数据的技术解析
69 3
|
6月前
|
搜索推荐 安全 Java
Python中使用requests库进行会话管理与Cookie处理
【4月更文挑战第12天】在Web开发中,会话管理和Cookie处理是处理用户状态和个性化体验的关键部分。在Python中,`requests`库为我们提供了强大的会话管理功能,通过`Session`对象,我们可以轻松地进行跨请求的状态保持,包括自动处理Cookie。本文将详细介绍如何在Python中使用`requests`库进行会话管理和Cookie处理。
|
6月前
客户端禁用cookie后的会话数据保存问题
客户端禁用cookie后的会话数据保存问题
|
6月前
给requests请求添加cookie
给requests请求添加cookie
72 0
|
存储 缓存 前端开发
Cookie实现数据共享
Cookie实现数据共享
145 0
Cookie实现数据共享
|
Python
python3 requests获取网页cookie并打印
最近自己和伙伴写的项目涉及前后端完全分离多个客户端,自己测试登录接口想利用请求获取Cookie中的sessionid作为状态通信和身份认证的信息。请求获取cookie打印的函数找了半天。于是就记下来,给需要的同学和自己以后。
497 0
python3 requests获取网页cookie并打印