充气娃娃呢(充气娃娃是什么感觉)一、需求背景在实际开发过程中 , 在我们开始开发之前 , 产品经理为我们说明需求(测试、前端、后端、项目经理等 。)首先 。了解需求后 , 我们开始一起讨论技术方案 。
充气娃娃怎么样(充气娃娃感觉如何)一、需求背景
在实际开发过程中 , 在我们开始开发之前 , 产品经理为我们解释需求(测试、前端、后端、项目经理等 。).了解需求后 , 我们开始一起讨论技术方案 。
我们自己实现一些小功能的时候 , 也需要讨论需求 , 就是告诉别人我们为什么要做这个东西?或者我们想用这个产品解决什么问题 。
我们经常会看到一些关于充气娃娃的表情包 , 图片或者新闻 , 但是这种东西很少像一些小视频那样互相交流 , 大家可能都在偷偷玩 。所以猪哥认为 , 其实大部分同学都没有亲身体验过做充气娃娃是什么感觉(包括猪哥) , 所以猪哥很好奇是一种什么样的体验 。真的有传言的那么好吗?
二 。功能描述
基于很多人没有体验过充气娃娃是什么感觉 , 但是很好奇 , 所以希望通过爬虫+数据分析直观真实的告诉大家(下图为成品) 。
三 。技术方案
为了实现上述需求和功能 , 我们来讨论一下具体的技术实现方案:
分析East comment数据请求 。
使用请求库抓取一些关于华东充气娃娃的评论 。
使用文字云进行数据显示
'''遇到不懂的问题?Python学习交流群:821460695满足你的需求 , 资料都已经上传群文件 , 可以自行下载!'''四 。技术实现
本教程仅供学习交流 , 不得用于商业盈利 , 风险自担!
如有侵权或对任何公司或个人造成不良影响 , 请告知删除 。
1.分析并获取评论界面的URL
之一步:打开某店铺的商品页面 , 搜索你要研究的商品 。
步骤2:我们在页面中用鼠标右键选择Check(或F12)来打开浏览器的调试窗口 。
第3步:调用浏览器并点击注释按钮来加载数据 。然后 , 我们单击 查看数据 。
步骤4:找到请求加载评论数据的url 。我们可以在注释中使用一个段落 , 然后在调试窗口中搜索 。
经过以上四步的分析 , 我们得到了JD的界面 。COM的评论数据:https://sclub.jd.com/comment/productPageComments.action?回调= fetch ON _ comment 98vv 4654 & product id = 1263013576 & score = 0 & sort type = 5 & page = 0 & pageSize = 10 & issshadowsku = 0 & fold = 1
页面评论:看名字就知道是productPageComments 。
2.搜索注释数据
得到评论数据接口的url后 , 我们就可以开始编写代码来捕获数据了 。一般我们会先尝试抓取一段数据 。成功后再分析如何实现大量抓取 。
上一次 , 我们解释了如何使用请求库来发起http/s请求 。让我们看一下代码 。
但是打印结果中的数据是空?为什么浏览器请求成功 , 我们的代码却不能请求数据?我们遇到叛乱了吗?这种情况怎么解决?
当你遇到这种情况时 , 回到浏览器的调试窗口 , 检查浏览器发起的请求头 , 因为可能会有一些请求头参数是浏览器在请求时携带的 , 而不是在我们的代码中 。
果不其然 , 我们在六友友资源的浏览器头看到了Referer和User-Agent两个请求头 。那么我们应该首先将它们添加到代码的请求头中 , 然后再试一次!
3.数据析取
对抓取的数据进行分析后 , 我们发现这个数据是jsonp跨域请求返回的json结果 , 我们只需要去掉前面的fetchjson_comment98vv4646(以及最后一个)就可以得到json数据 。
将json数据复制到json格式化工具中 , 或者在Chrome浏览器调试窗口中点击预览 。还可以看到json数据中有一个带有key作为注释的值 , 这就是我们想要的注释数据 。
对评论值进行分析后 , 我们发现它是一个包含多条数据的列表 , 列表中的每一项都是每个评论对象 , 包括评论的内容、时间、id、评价来源等信息 , 内容字段是我们在页面上看到的用户评价内容 。
下面我们用代码提取每个评估对象的内容字段并打印出来 。
4.数据保存
提取数据后 , 我们需要保存它们 。一般优游资源网保存数据的格式主要有:文件、数据库、内存 。今天我们将数据保存为txt文件格式 , 因为操作文件比较简单 , 也能满足我们后续数据分析的需要 。
然后我们来看看生成的文件内容是否正确 。
5.批量抓取
爬取、提取、保存另一页数据后 , 再来研究如何批量爬取 。
做过web的同学可能都知道 , 有一个功能是我们必须要做的 , 那就是分页 。什么是分页?为什么要做寻呼?
当我们浏览许多网页时 , 我们经常会看到“下一页”这个词 。其实这就是分页技术的运用 。由于在向用户展示数据时不可能一次展示所有数据 , 所以采用分页技术 , 逐页展示 。
让我们回到加载评论数据的初始url:
https://sclub.jd.com/comment/productPageComments.action?回调= fetch ON _ comment 98vv 4654 & product id = 1263013576 & score = 0 & sort type = 5 & page = 0 & pageSize = 10 & isShadowSku = 0 & fold = 1
我们可以看到链接中有两个参数:page=0&pageSize=10 。Page表示当前的页数 , pageSize表示每页的页数 。然后这两个数据直接去数据库限制数据 。
老司机一眼就能看出这是分页参数 , 但是有的同学会说:我要是老司机 , 凭什么看你的文章?所以我教你如何找到这个分页参数 。
回到某东的产品页面 , 我们把评测页面拉到了最下面 , 发现有分页按钮 , 然后我们在调试窗口里清空了空之前的请求记录 。
在清除空之前的请求记录后 , 我们点击上图中红框分页按钮的数字2代表第二页 , 然后复制之一个评估调试窗口搜索 , 最后找到请求链接 。
然后 , 我们单击Headers在第二页上查看所请求数据的url 。
然后 , 我们来对比一下之一页评价和第二页评价的url差异 。
这里验证了猪哥的猜想:page表示当前的页数 , pageSize表示每页多少页 。并且我们可以得出另一个结论:之一页=0 , 第二页=1然后依次返回 。有同学会问:为什么之一页不是1 , 而是0?因为在数据库中 , 一般是从0开始计数的 , 编程界很多数组列表都是从0开始计数的 。
好了 , 知道分页规则后 , 我们就不能每次请求的时候都递增page参数 , 批量抓取吗?让我们写代码吧!
简要解释所做的更改:
向spider_comment 添加页数 , 然后向url添加一个占位符 , 这样就可以动态修改url并抓取指定页数 。
添加一个batch_spider_comment , 循环调用spider_comment , 暂定抓取100页 。
在batch_spider_comment 的for循环中设置了一个随机睡眠时间 , 意在模拟用户浏览 , 防止因抓取过于频繁而造成的ip阻塞 。
爬坡后取检查结果 。
.6.数据清理
数据保存成功后 , 我们需要清理数据进行分词 。对于分词 , 我们使用著名的词库jieba 。
首先 , 安装jieba库:
pip3installjieba
当然这里也可以剔除一些介词等无效词 , 避免无效数据 。
7.生成单词云
我们需要使用库numpy、matplotlib、wordcloud和Pillow来生成云词 。请先自己下载 。Matplotlib库用于图像处理 , wordcloud库用于文字云生成 。
注意:font_path是选择字体的路径 。如果不设置默认字体 , 可能不支持中文 。猪哥选了Mac系统自带的宋体!
最终结果:
让我们来看看完整的代码:
动词 (verb的缩写)摘要
考虑到新手的友好性 , 文章篇幅较长 , 详细介绍了需求、技术分析、抓取数据、清理数据、最终分析数据 。让我们总结一下我们在这篇文章中学到的东西:
如何分析找出加载数据的url
如何利用R优优资源网equests库中的headers解决Referer和User-Agent反略读技术
如何查找分页参数实现批量抓取
数据提取和保存到文件
用洁霸库清理数据分词
使用文字云生成指定形状的文字云
这是一套完整的数据分析案例 。希望你可以自己尝试 , 探索更多有趣的案例 , 做一个有趣的人~
【充气娃娃什么感觉 充气娃娃怎么样】
- 红酒做代理有什么痛点 做红酒如何招代理商
- 红酒西施佳亚怎么样 西施佳亚什么档次
- 有哪些可以灵活运用尾巴 什么用尾巴
- 棕包是啥美食 棕包是什么
- 锦鲤附体的三大生肖 锦鲤附体是什么
- 农村自榨花生油真的不安全吗 农家自榨花生油有什么危害
- 符文到底有什么用 护符有什么用
- 宝宝出生的那一刻,你是什么感觉?若有这3种想法,不建议生二胎
- 为什么无限极产品可靠 无限极产品怎么样
- 雪铁龙C6怎有什么优缺点 雪铁龙c6怎么样