内容简介:大家好,最近分别从
大家好,最近分别从 商家选址 和 顾客挑店 的角度写了两篇有关美团数据的分析:
结果很多读者对爬数据的过程比较感兴趣,那么今天就讲一下我是怎样获取美团数据,其实并不难,甚至还因为需要手动干预而显得有点不太聪明的样子。
店铺评论数据
在重庆火锅的文章中,我们一共爬取了每个店铺基本信息与对应评价两种数据,那么较为简单的就是评论数据,我们进入一个店铺的详情页 , F12查找数据包 就能轻松找到对应的评论数据
所以想拿下这一页的评论只要将 headers
中一些参数加进去使用 Requests.get
请求即可,注意 Cookie
是必须要添加的
那么返回的json数据无论直接提取数据还是使用正则查找数据都不是困难的,提取之后使用Pandas保存即可,此处就不在赘述,如果需要 爬取多页评论 怎么办,先手动加载多页评论发现URL中仅有 offset
参数变了,每页增加10
所以只要 写个简单的循环生成多页URL就能拿下指定页数 的评论,OK这仅是一家店铺的评论爬取办法,那怎么获得多家店铺的评论呢?如果我们多找几家店铺的评论数据查看会发现,不同店铺对应的Request URL其实 变化的只有店铺的ID
所以下面的问题就转换为 如何拿到多家店铺的ID ,而这些ID都在搜索页面下的 店铺基本数据 中。
店铺基本数据
为了找到店铺ID,让 我们回到搜索页面中(美团首页—美食—火锅)
上面的页面中就是重庆火锅的第一页,还是 F12刷新很容易就能找到包含店铺ID、均价等相关信息的数据包
所以也能轻松的获取 Request URL
和上一节取评论的方法一样,修改对应的headers信息再使用requests请求即可,然后将店铺基本信息存下来用于分析,再将 ID单独存储用于组合评论页URL
当然这只是第一页的url的返回数据,只要 修改其中的 page
参数 就能生成多页URL从而获取多页数据
以为这就结束了?并不是, 评论页的URL是不变的,但是这里的URL过几分钟就会变一下 ,也就是说如果你一次性生成10页或更多的URL去循环请求很有可能在中间这个URL就挂掉了,所以你直接在浏览器中打开这个URL 提示请求被拒绝 ,而不是显示对应的json值,就说明URL换了,解决办法只有 在URL更换的时候重新手动获取最新的URL并重新组合剩下需要爬取的页面 ,有点蠢但是因为更换的部分并没啥规律所以好像也没什么更好的办法......
结束语
以上就是我如何爬取美团店铺和评论数据的一些说明,看上去也并不难无非就是 Requests爬取+Pandas清洗 即可,由于变化的URL甚至没法开一个线程取ID另一个线程取评论而显得不太聪明。回顾一下不就是在一级搜索页面 通过代码+手动调整 取一些店铺的ID和其他基本信息,再去店铺详情页用同样的方法 利用刚刚取得的ID来爬取不同店铺的评论数据 即可。并没有什么高级操作,所以我不再提供具体爬取与清洗数据的相关代码(事实上也很容易失效)!
注1:爬下来的数据仅限学习研究使用!
注2:爬取过程请一定记得设置请求频率以及代理池,不然很容易封IP!
往期文章
先有收获,再点在看!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Android编程权威指南(第2版)
Bill Phillips、Chris Stewart、Brian Hardy、Kristin Marsicano / 王明发 / 人民邮电出版社 / 2016-5 / 109.00 元
Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共34章,详细介绍了8个Android 应用。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。 如果你熟悉Java语言,或者了解面向对象编程,那就立刻开始And......一起来看看 《Android编程权威指南(第2版)》 这本书的介绍吧!