知乐空间

充气娃娃什么感觉(充气娃娃怎么样)

充气娃娃怎么样(充气娃娃感觉如何)一、需求背景在实际开发过程中,在我们开始开发之前,产品经理会为我们讲解需求(测试、前端、后端、项目经理等)。)先,了解需求后再一起讨论技术方案。

充气娃娃怎么样(充气娃娃感觉如何)一、需求背景

在实际开发过程中,在我们开始开发之前,产品经理会为我们讲解需求(测试、前端、后端、项目经理等)。)先,了解需求后再一起讨论技术方案。

我们自己实现一些小功能的时候,也需要讨论需求,也就是告诉别人为什么要做这个事情。或者我们想用这个产品解决什么问题。

我们经常会看到一些关于充气娃娃的表情包、图片或者新闻,但是这种东西很少像小视频一样互相交流,大家可能都在偷偷摸摸。所以猪哥认为其实大部分同学都没有亲身体验过充气娃娃是什么感觉(包括猪哥),所以猪哥很好奇这是一种什么样的体验。真的有传言那么好吗?

二、功能描述

基于很多人从来没有体验过充气娃娃的感觉,但是又很好奇,所以希望通过爬虫+数据分析直观真实的告诉大家(下图为成品)。

三.技术方案

为了实现上述需求和功能,我们来讨论一下具体的技术实现方案:

东方评论数据请求分析

使用请求库捕捉某个东部充气娃娃的评论。

使用字云进行数据呈现

遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!

四.技术实现

本教程仅供学习交流,不为商业盈利,风险自担!

如有侵权或对任何公司或个人造成不良影响,请告知我们删除。

1.分析得到评论界面的URL。

第一步:打开某东的产品页面,搜索想要学习的产品。

第二步:我们在页面中用鼠标右键选择Check(或F12),调出浏览器的调试窗口。

第三步:调用浏览器后,点击评论按钮加载数据,然后我们点击网络查看数据。

第四步:找到加载评论数据的请求的url。我们可以在注释中使用一个段落,然后在调试窗口中搜索。

经过以上四个步骤的分析,我们得到了JD的界面。COM的评论数据:https://sclub.jd.com/comment/productPageComments.action?.回调= fetchJSON _ comment 98v v 4654 productId = 1263013576 score = 0 sortType = 5 page = 0 page size = 10 isShadowSku = 0 fold = 1

页面评论:看这个名字就知道是一个productPageComments。

2.爬网注释数据

获得注释数据接口的url后,我们可以开始编写代码来抓取数据。一般我们会先尝试抓取一段数据,成功后再分析如何抓取大量数据。

上次,我们解释了如何使用请求库来发起http/s请求。让我们看看代码。

但是打印出来的结果,数据是空?为什么浏览器请求成功,我们的代码却不能请求数据?我们见过反牛排吗?如何解决这种情况?

遇到这种情况的时候,回到浏览器的调试窗口,检查浏览器发起的请求头,因为有可能浏览器在请求的时候携带了一些请求头参数,但是我们的代码中没有。

果然,我们在浏览器标题中看到了两个请求标题,推荐者和用户代理。让我们将它们添加到代码的请求头中,然后重试!

3.数据析取

我们对抓取数据的分析表明,这个数据是jsonp跨域请求返回的json结果,所以我们只需要移除前面的fetchjson_comment98vv4646(也是最后一个)就可以得到json数据。

将json数据复制到json格式化工具中,或者在Chrome浏览器调试窗口中单击预览。您还可以看到,json数据中带有注释关键字的值就是我们想要的注释数据。

分析评论值后,我们发现它是一个有多条数据的列表,列表中的每一项都是每个评论对象,包含评论内容、时间、id、评价来源等信息,内容字段就是我们在页面上看到的用户评价内容。

让我们使用代码提取并打印出每个评估对象的内容字段。

4.数据保存

提取数据后,我们需要保存它们。一般来说,保存数据主要有三种格式:文件、数据库和内存。今天我们将数据保存为txt文件格式,因为操作文件比较简单,也能满足我们后续数据分析的需要。

然后我们来检查生成的文件内容是否正确。

5.批量爬行

在抓取、提取和保存另一页数据后,让我们研究如何批量抓取。

做过网页的同学可能都知道,有一个功能是我们必须要做的,那就是分页。什么是寻呼?为什么要分页?

在浏览很多网页的时候,我们经常会看到“下一页”这几个字。其实这就是分页技术的运用。因为在向用户显示数据时不可能一次显示所有数据,所以我们使用分页技术逐页显示。

让我们回到加载评论数据的初始url:

https://sclub.jd.com/comment/productPageComments.action?回调= fetchJSON _ comment 98v v 4654 ProductID = 1263013576 score = 0 sortType = 5 page = 0 page size = 10 isShadowSku = 0 fold = 1

我们可以看到链接中有两个参数,page=0 pageSize=10,page表示当前的页数,pageSize表示有多少页,那么这两个数据直接去数据库限制数据。

老司机一眼就能看出这是寻呼参数,但有些同学会说:如果我是老司机,为什么要看你的文章?所以我来教你如何找到这个分页参数。

回到某东的产品页面,我们把评测页面拉到了最下面,发现了一个分页按钮,然后我们在调试窗口中清除了之前空的请求记录。

在清除空之前的请求记录后,我们点击上面红色框中分页按钮的数字2来表示这第二页,然后复制第一条注释在调试窗口中搜索,最后找到请求链接。

然后我们单击标题来查看第二个页面请求数据的url。

然后我们比较第一页评估和第二页评估之间的url差异。

这里验证猪哥的猜想:page表示当前页数,pageSize表示有多少页。而且,我们可以得出另一个结论:第一页=0,第二页=1,然后依次返回。有的同学会问:为什么第一页不是1,而是0?因为在数据库中,一般是从0开始计数的,编程行业很多数组列表都是从0开始计数的。

好吧,知道了分页规则之后,我们就不能每次请求的时候都递增page参数吗?让我们写代码!

简要解释所做的更改:

将参数page:中的页数添加到spider_comment方法中,然后在url中添加一个占位符,这样就可以动态修改url并对指定的页数进行爬网。

添加一个batch_spider_comment方法,循环调用spider_comment方法,尝试抓取100页。

在batch_spider_comment方法的for循环中,设置了一个随机睡眠时间,旨在模拟用户的浏览,防止ip因抓取过于频繁而被阻塞。

爬升完成后取检查结果。

.6.数据清理

数据保存成功后,我们需要对数据进行分词清洗。对于分词,我们使用著名的词库jieba。

首先,安装捷巴库:

pip3 install jieba

当然,这里也可以剔除一些介词等无效词,以免数据无效。

7.生成单词云

为了生成云单词,我们需要使用numpy、matplotlib、wordcloud和Pillow库。请先自己下载。Matplotlib库用于图像处理,wordcloud库用于生成word cloud。

注意:font_path是选择字体的路径。如果没有设置默认字体,可能不支持中文。猪哥选择了Mac系统自带的宋体!

最终结果:

让我们看看整个代码:

动词 (verb的缩写)摘要

考虑到新手的友好性,文章篇幅较长,详细介绍了需求、技术分析、抓取数据、清理数据和最终分析数据。让我们总结一下我们在本文中学到的内容:

如何分析和找出加载数据的网址

如何利用请求库头解决推荐者和用户代理防剥离技术

如何找到分页参数实现批量抓取

数据提取并保存到文件

用洁巴库清理数据分割

使用wordcloud生成指定形状的单词云。

这是一套完整的数据分析案例。希望大家可以自己尝试,探索更多有趣的案例,做一个有趣的人~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: