淘宝奶茶数据抓取可视化
导语
庞大的淘宝数据中,我们挑了奶茶的来讲解一下从抓取到分析
开发工具
Python版本:3.6.4
相关模块:
DecryptLogin模块;
pyecharts模块;
以及一些Python自带的模块。
数据爬取
既然说了是模拟登录相关的爬虫小案例,首先自然是要实现一下淘宝的模拟登录啦。这里还是利用我们开源的DecryptLogin库来实现,只需三行代码即可:
'''模拟登录淘宝'''
@staticmethod
def login():lg = login.Login()infos_return, session = lg.taobao()return session
另外,顺便提一句,经常有人想让我在DecryptLogin库里加入cookies持久化功能。其实你自己多写两行代码就能实现了:
if os.path.isfile('session.pkl'):self.session = pickle.load(open('session.pkl', 'rb'))
else:self.session = TBGoodsCrawler.login()f = open('session.pkl', 'wb')pickle.dump(self.session, f)f.close()
我真不想在这个库里添加这个功能,后面我倒是想添加一些其他爬虫相关的功能,这个之后再说吧。好的,偏题了,言归正传吧。接着,我们去网页版的淘宝抓一波包吧。比如F12打开开发者工具后,在淘宝的商品搜索栏里随便输入点东西,就像这样:
全局搜索一下诸如search这样的关键词,可以发现如下链接:
看看它返回的数据是啥:
看来应该没错了。另外,如果小伙伴们自己实战的时候没有找到这个接口api,可以尝试再点击一下右上角的下一页商品按钮:
这样就肯定能抓到这个请求接口啦。简单测试一下,可以发现尽管请求这个接口所需携带的参数看上去很多,但实际上必须要提交的参数只有两个,即:
q: 商品名称
s: 当前页码的偏移量
好啦,根据这个接口,以及我们的测试结果,现在就可以愉快地开始实现淘宝商品数据的抓取啦。具体而言,主代码实现如下:
'''外部调用'''
def run(self):search_url = 'https://s.taobao.com/search?'while True:goods_name = input('请输入想要抓取的商品信息名称: ')offset = 0page_size = 44goods_infos_dict = {}page_interval = random.randint(1, 5)page_pointer = 0while True:params = {'q': goods_name,'ajax': 'true','ie': 'utf8','s': str(offset)}response = self.session.get(search_url, params=params)if (response.status_code != 200):breakresponse_json = response.json()all_items = response_json.get('mods', {}).get('itemlist', {}).get('data', {}).get('auctions', [])if len(all_items) == 0:breakfor item in all_items:if not item['category']:continuegoods_infos_dict.update({len(goods_infos_dict)+1: {'shope_name': item.get('nick', ''),'title': item.get('raw_title', ''),'pic_url': item.get('pic_url', ''),'detail_url': item.get('detail_url', ''),'price': item.get('view_price', ''),'location': item.get('item_loc', ''),'fee': item.get('view_fee', ''),'num_comments': item.get('comment_count', ''),'num_sells': item.get('view_sales', '')}})print(goods_infos_dict)self.__save(goods_infos_dict, goods_name+'.pkl')offset += page_sizeif offset // page_size > 100:breakpage_pointer += 1if page_pointer == page_interval:time.sleep(random.randint(30, 60)+random.random()*10)page_interval = random.randint(1, 5)page_pointer = 0else:time.sleep(random.random()+2)print('[INFO]: 关于%s的商品数据抓取完毕, 共抓取到%s条数据...' % (goods_name, len(goods_infos_dict)))
就是这么简单,我们已经大功告成啦。
数据可视化
这里我们来可视化一波我们抓到的奶茶数据呗。先来看看在淘宝上卖奶茶的商家在全国范围内的数量分布情况呗:
没想到啊,奶茶店铺最多的地方竟然是广东。T_T
再来看看淘宝上卖奶茶的店铺的销量排名前10名呗:
以及淘宝上评论数量前10名的奶茶店铺:
再看看在这些店铺要运费和不要运费的商品比例呗:
最后,再看看奶茶相关商品的售价区间呗:
了解更多分析及淘宝数据抓取可查看:
http://cloud.yisurvey.com:9081//html/37be8794-b79e-4511-9d0a-81f082bac606.html
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
淘宝奶茶数据抓取可视化相关推荐
- 淘宝评论数据抓取简记
刚才趴在床上搞清楚了淘宝评论数据的抓取方法,在此记录,以备后用. 淘宝商品详情页面下方有如下script: <script>window.App = (window.App || {}); ...
- 天猫、淘宝运营数据抓取技术概述
对通用网站的数据抓取,比如:谷歌和百度,都有自己的爬虫,当然,爬虫也都是有程序写出来的.根据百度百科的定义:网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或 ...
- “免费午餐”成为销量第一,看明星吉杰淘宝直播如何抓取粉丝眼球
29日晚,明星吉杰淘宝直播[第九届"穷人"狂欢节],6个多小时的直播里,吉杰共上架70件商品,1条免费午餐公益捐助链接.获得超过300万观看,带货销量近45万,销售额(估)达160 ...
- 淘宝众筹数据爬取(1)
众筹是现阶段小微或初创企业比较重要的融资渠道之一,也获得了很多研究者的关注.然而众筹的研究需要获取众筹项目的大量数据,单靠手工录入数据确实比较让人讨厌, 速度慢也比较啰嗦.前文中我们已经了解了静态网页 ...
- Python爬虫淘宝基于selenium抓取淘宝商品数据2021年测试过滑动验证
配置一下"可能需要修改的参数",就可以食用底部代码了,ps:可能已失效 本文章代码功能 准备工作 Python用到的库和准备工作 可能需要修改的参数 在CMD中打开一个Chrome ...
- 技能梳理36@淘宝/天猫数据爬取
现在登录用微博登录的方式已经不行了 参考链接https://zhuanlan.zhihu.com/p/558502415 使用的开发工具是Jupyter_Notebooks 参考视频https://w ...
- 淘宝众筹数据爬取(3)
前文的讲述已经可以将一个页面上的所有项目的项目名称.已筹金额.达成率和支持人数提取出来,并且再通过进入单一页面的方式,将单个项目的上线时间和截止时间以及金额标的提取出来.由此,我们可以形成我们的提取逻 ...
- 淘宝众筹数据爬取(2)
第一部分的写完了好多天,也没几个人浏览,看来确实是技术太低段,只能自己玩玩了.CSDN博客有个很讨厌的设置,博客分数太低的,不让自主设置标签,我离400分的大关还差300多分,太窘了,还麻烦各位看完给 ...
- 淘宝APP数据如何获取
随着中国互联网的快速发展,淘宝APP已成为了人们购物必备的应用程序之一.作为中国最大的在线购物平台之一,淘宝APP每天都会生成海量的交易数据,这些数据对分析消费者行为.预测市场趋势和优化商家运营都非常 ...
最新文章
- myeclipse 遇到的一些问题及解决方案
- Javascript 面向对象全新理练之数据的封装
- UNIYT关于V S2017,VS2019断点调试卡住的问题
- javascript:call和apply函数的用法(转载)
- 控件事件的发生与页面加载的关系
- mysql manage keys_相传mysql 5.5 对于非聚集索引增删有很大的改善… 你信吗?
- Custom Components 翻译
- IDEA 代码格式化设置
- 2022年Java面试题---中科创达
- 推荐下载使用:COMODO Internet Security V5.0.157302.1066 多国语言版(含:简体中文)
- java计算机毕业设计中学教务管理系统源码+mysql数据库+系统+部署+lw文档
- 整数有约 | 非夕科技:用自适应机器人,做通用智能时代的硬核引领者
- VR失重太空舱游乐设备|航空航天VR体验|VR航天航空体验馆
- android 屏幕像素密度计算器,手机/平板电脑屏幕PPI计算器
- 黄世仁之监听程序前后台切换
- 红米有android,超23款小米、红米升Android O以上系统,日前又一款尝鲜Andro
- 第七讲:5.物联网开关——自动化控制任务光照控制台灯实验例程
- (二十三)admin-boot项目之captcha验证码整合
- 转载的,给大家分享,,希望有用
- win10下安装Ubuntu18.10双系统