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


充气娃娃怎么样(充气娃娃什么感觉)
文章图片


清空之前的请求记录之后,我们点击上图红框分页按钮的数字2,代表这第二页,然后复制第一条评价去调试窗口搜索,最后找到请求链接 。
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


然后我们点击Headers查看第二页请求数据的url
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


然后我们比较第一页评价与第二页评价的url有何区别
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


这里也就验证了猪哥的猜想:page表示当前的页数,pageSize表示每页多少条 。而且我们还能得出另一个结论:第一个page=0,第二页page=1 然后依次往后 。有同学会问:为什么第一页不是1,而是0,因为在数据库中一般的都是从0开始计数,编程行业很多数组列表都是从0开始计数 。
好了,知道分页规律之后,我们只要在每次请求时将page参数递增不就可以批量抓取了吗?我们来写代码吧!
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


简单讲解一下做的改动:

  • 对spider_comment方法增加入参page:页数,然后在url中增加占位符,这样就可以动态修改url,爬取指定的页数 。
  • 增加一个batch_spider_comment方法,循环调用spider_comment方法,暂定爬取100页 。
  • 在batch_spider_comment方法的for循环中设置了一个随机的休眠时间,意在模拟用户浏览,防止因为爬取太频繁被封ip 。
爬取完成之后检查成果
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


.6.数据清洗
数据成功保存之后我们需要对数据进行分词清洗,对于分词我们使用著名的分词库jieba 。
首先是安装jieba库:
pip3 install jieba
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


当然这里你还可以对一些介词等无效词进行剔除,这样可以避免无效数据 。
7.生成词云
生成云词我们需要用到numpy、matplotlib、wordcloud、Pillow这几个库,大家先自行下载 。matplotlib库用于图像处理,wordcloud库用于生成词云 。
注意:font_path是选择字体的路径,如果不设置默认字体可能不支持中文,猪哥选择的是Mac系统自带的宋体字!
最终结果:
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


我们来看看全代码:
充气娃娃怎么样(充气娃娃什么感觉)
文章图片


五、总结
因考虑新手的友好性,文章篇幅较长,详细的介绍了从需求到技术分析、爬取数据、清洗数据、最后的分析数据 。我们来总结一下本片文章学到的东西吧:
  • 如何分析并找出加载数据的url
  • 如何使用requests库的headers解决Referer和User-Agent反扒技术
  • 如何找出分页参数实现批量爬取
  • 数据的提取与保存到文件
  • 使用jieba库对数据分词清洗
  • 使用wordcloud生成指定形状的词云
这是一套完整的数据分析案例,希望大家能自己动手尝试,去探索更多有趣的案例,做个有趣的人~