【问题标题】:Google Play scraper谷歌播放刮刀
【发布时间】:2014-03-10 19:20:08
【问题描述】:

我正在尝试用 PHP 开发一个 Play 商店评论抓取工具,我需要向这个 URL https://play.google.com/store/getreviews 发出 POST 请求,我看到了带有 firebug 的参数发布。

我正在使用Goutte library,这是我的代码:

require_once 'goutte.phar';
use Goutte\Client;    

$client = new Client();

$params = Array(
    "id"      => "com.trello",
    "pageNum" => 2         ,
    "reviewSortOrder" => 2 ,
    "reviewType"   => 0,
    "xhr" => 1
);

$crawler = $client->request('POST' , 'https://play.google.com/store/getreviews', $params);

问题是请求没有返回任何内容。有没有人遇到过这个问题并解决了?

【问题讨论】:

  • 有时网站会阻止某些用户代理。您是否尝试过与您的 POST 一起发送虚假的用户代理字符串(例如从 firebug 复制的字符串)?
  • 向我们展示有效的完整请求,并向我们展示无效的完整请求。使用 Fiddler 或 Wireshark 之类的工具。
  • 如果你需要另一个库(真的很好),你可以使用 Zend_Http_Client framework.zend.com/manual/1.10/en/…
  • @maxton 我尝试右键单击来自 firebug 的发布请求并复制为 cURL,如果这是您的意思。

标签: php http post goutte


【解决方案1】:

我认为这是不可能的。 Google Play 去年改变了他们的评论界面。他们现在有一个此处缺少的“令牌”参数。我以前曾尝试弄清​​楚这是什么种子(请参阅Google play review scraping changes),但我无法弄清楚。在多次尝试使用不正确的请求(可能没有令牌)访问该网络服务后,Google Play 开始阻止您的 IP,这就是为什么您在一段时间后将一无所获(并且将无法在其中打开 Google Play你的浏览器)。如果您找到解决方案,请告诉我!

【讨论】:

    【解决方案2】:

    此 URL 对我有用,在您的示例中包含表单发布数据。

    https://play.google.com/store/getreviews?authuser=0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多