导语
庞大的淘宝数据中,我们挑了奶茶的来讲解一下从抓取到分析

开发工具
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

本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。

特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

淘宝奶茶数据抓取可视化相关推荐

  1. 淘宝评论数据抓取简记

    刚才趴在床上搞清楚了淘宝评论数据的抓取方法,在此记录,以备后用. 淘宝商品详情页面下方有如下script: <script>window.App = (window.App || {}); ...

  2. 天猫、淘宝运营数据抓取技术概述

    对通用网站的数据抓取,比如:谷歌和百度,都有自己的爬虫,当然,爬虫也都是有程序写出来的.根据百度百科的定义:网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或 ...

  3. “免费午餐”成为销量第一,看明星吉杰淘宝直播如何抓取粉丝眼球

    29日晚,明星吉杰淘宝直播[第九届"穷人"狂欢节],6个多小时的直播里,吉杰共上架70件商品,1条免费午餐公益捐助链接.获得超过300万观看,带货销量近45万,销售额(估)达160 ...

  4. 淘宝众筹数据爬取(1)

    众筹是现阶段小微或初创企业比较重要的融资渠道之一,也获得了很多研究者的关注.然而众筹的研究需要获取众筹项目的大量数据,单靠手工录入数据确实比较让人讨厌, 速度慢也比较啰嗦.前文中我们已经了解了静态网页 ...

  5. Python爬虫淘宝基于selenium抓取淘宝商品数据2021年测试过滑动验证

    配置一下"可能需要修改的参数",就可以食用底部代码了,ps:可能已失效 本文章代码功能 准备工作 Python用到的库和准备工作 可能需要修改的参数 在CMD中打开一个Chrome ...

  6. 技能梳理36@淘宝/天猫数据爬取

    现在登录用微博登录的方式已经不行了 参考链接https://zhuanlan.zhihu.com/p/558502415 使用的开发工具是Jupyter_Notebooks 参考视频https://w ...

  7. 淘宝众筹数据爬取(3)

    前文的讲述已经可以将一个页面上的所有项目的项目名称.已筹金额.达成率和支持人数提取出来,并且再通过进入单一页面的方式,将单个项目的上线时间和截止时间以及金额标的提取出来.由此,我们可以形成我们的提取逻 ...

  8. 淘宝众筹数据爬取(2)

    第一部分的写完了好多天,也没几个人浏览,看来确实是技术太低段,只能自己玩玩了.CSDN博客有个很讨厌的设置,博客分数太低的,不让自主设置标签,我离400分的大关还差300多分,太窘了,还麻烦各位看完给 ...

  9. 淘宝APP数据如何获取

    随着中国互联网的快速发展,淘宝APP已成为了人们购物必备的应用程序之一.作为中国最大的在线购物平台之一,淘宝APP每天都会生成海量的交易数据,这些数据对分析消费者行为.预测市场趋势和优化商家运营都非常 ...

最新文章

  1. myeclipse 遇到的一些问题及解决方案
  2. Javascript 面向对象全新理练之数据的封装
  3. UNIYT关于V S2017,VS2019断点调试卡住的问题
  4. javascript:call和apply函数的用法(转载)
  5. 控件事件的发生与页面加载的关系
  6. mysql manage keys_相传mysql 5.5 对于非聚集索引增删有很大的改善… 你信吗?
  7. Custom Components 翻译
  8. IDEA 代码格式化设置
  9. 2022年Java面试题---中科创达
  10. 推荐下载使用:COMODO Internet Security V5.0.157302.1066 多国语言版(含:简体中文)
  11. java计算机毕业设计中学教务管理系统源码+mysql数据库+系统+部署+lw文档
  12. 整数有约 | 非夕科技:用自适应机器人,做通用智能时代的硬核引领者
  13. VR失重太空舱游乐设备|航空航天VR体验|VR航天航空体验馆
  14. android 屏幕像素密度计算器,手机/平板电脑屏幕PPI计算器
  15. 黄世仁之监听程序前后台切换
  16. 红米有android,超23款小米、红米升Android O以上系统,日前又一款尝鲜Andro
  17. 第七讲:5.物联网开关——自动化控制任务光照控制台灯实验例程
  18. (二十三)admin-boot项目之captcha验证码整合
  19. 转载的,给大家分享,,希望有用
  20. win10下安装Ubuntu18.10双系统

热门文章

  1. 实现记事本的新建,保存,打开,另存为等功能
  2. SpringBoot ES 查询空字段
  3. Intellij IDEA 调试功
  4. 彩色乳胶PS微球/聚苯乙烯Polystyrene微球 粒径尺寸0.02μm至100μm
  5. 小技巧 开启Win10高性能模式
  6. Microsoft Office 2021 LTSC 专业激活版 win/mac版
  7. mapState映射
  8. 异或的妙用(C语言)
  9. 免费采集器:全方位深度分析!
  10. NGINX udp代理配置