如何在Google Play商店爬取一个应用的所有评论?

4
当我在Google Play商店上爬取应用程序页面时,我只能爬取几页应用程序评论。
(当我使用Web浏览器单击箭头按钮时,下一页应用程序评论会显示出来)
我该如何爬取其他评论?

这是一个好问题。个别开发人员可以导出自己的评论和评分,但如果任何人都可以导出所有评论,那将是很棒的。我怀疑谷歌不会允许这样做,因为它会揭示一些手机产生更多的负面评论,然后每个人都会意识到,如果某些手机由于其糟糕的驱动程序等原因生成了不成比例的1星“崩溃”评级,那肯定是手机制造商的问题,而不是开发人员的问题。 - samgak
你尝试过弄清楚按箭头键会做什么吗?这可能是某种 AJAX 查询,你可以利用它。 - Huey
@Huey 不,我没有。坦白地说,我不知道怎么做。你能告诉我如何解决这个问题吗? - ycyoon
请在此链接中检查我的答案:http://stackoverflow.com/a/35249793/5435658 谢谢。 - raditya gumay
2个回答

4
我查看了 Telegram 的 Google Play 页面,似乎所有的评论都与页面的其余部分一起加载。
点击箭头之前可见评论 initially 点击箭头后,评论部分大小增加并显示完整评论 full-length 然后,您可以通过点击右箭头查看旧的和“不太有用”的评论。 older 但是,所有这些评论都从开始时加载:

enter image description here enter image description here

从那里开始,您需要使用网络爬虫解析HTML以获取评论。
编辑:
好的,在点击箭头几次后,Google Play开始通过ping http://play.google.com/store/getreviews来加载一些旧的评论,附带一个令牌。

web dev

这是我得到的响应片段:

response

<div class="single-review">  <a href="/store/people/details?id=113340797493751556969">...

它似乎包含了所有已加载的评论,所以您只需要解析它,或者尝试弄清楚令牌的工作原理,这样您就可以自己从getreviews中获取。


明白了,谢谢!现在我可以爬取所有应用程序的评论了!! - ycyoon
ycyoon,你能告诉我怎么做吗? - Amit Tripathi
@ycyoon如果你的项目是开源的,你能分享一下爬取应用程序所有评论的代码吗? - Nachiket
有人知道如何获取令牌吗?或者这个令牌是如何生成的? - Jerry YY Rain
找到他是如何做到的了。令牌始终相同。看一下他截图中的表单数据。它有一个名为pageNum的值。因此,您可以在Postman中测试这个基本功能。发送与截图中相同的表单数据,并迭代pageNum。 - Sharpless512
显示剩余2条评论

0

虽然现在有点晚了,但你可以使用Python的BeautifulSoup库来爬取所有评论。所有评论都在class为“single-review”的div中。

创建一个网页HTML的soup对象,选择所有“single-review”类的实例。

soup.select('.single-review')

我会为您完成这项任务。从评论中提取您想要的任何内容。作为参考,您可能需要查看BeautifulSoup 文档

您不需要检查右箭头或左箭头。上述方法将为您提供当前网页上的所有评论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接