首页 文章详情

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

大邓和他的Python | 1601 2021-03-27 09:30 0 0 0
UniSMS (合一短信)

视频课程|Python网络爬虫与文本分析~~


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


构造URL

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

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

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


登录爬取

在上一篇文章中我们就已经讲述了如何使用Cookie解决登录爬取的反爬机制,有不懂的小伙伴可以看看这篇文章学会Cookie,解决登录爬取的困扰!

当我们将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来获取淘宝数据,请读者仔细阅读,并加以操作。

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


精选文章

系列视频|Python网络爬虫与文本数据分析
B站视频 | Python自动化办公
bsite库 | 采集B站视频信息、评论数据
爬虫实战 | 采集&可视化知乎问题的回答
pdf2docx库 | 转文件格式,支持抽取文件中的表格数据
rpy2库 | 在jupyter中调用R语言代码
tidytext | 耳目一新的R-style文本分析库
reticulate包 | 在Rmarkdown中调用Python代码
plydata库 | 数据操作管道操作符>>
plotnine: Python版的ggplot2作图库
七夕礼物 | 全网最火的钉子绕线图制作教程
读完本文你就了解什么是文本分析
文本分析在经管领域中的应用概述  
综述:文本分析在市场营销研究中的应用
plotnine: Python版的ggplot2作图库
小案例: Pandas的apply方法  
stylecloud:简洁易用的词云库 
用Python绘制近20年地方财政收入变迁史视频  
Wow~70G上市公司定期报告数据集
漂亮~pandas可以无缝衔接Bokeh  
YelpDaset: 酒店管理类数据集10+G  

    分享”和“在看”是更好的支持


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter