按链接获取亚马逊客户评论内容。怎么样?

时间:2017-01-26 15:54:14

标签: php amazon simple-html-dom review amazon-product-api

目前,我通过审核链接获取亚马逊客户评论的方式是使用

PHP Simple HTML DOM Parser

通过提供评论链接,我可以获取评论内容 标题,评级评论,描述,图像,视频,作者等

如果我知道每个内容的css selector,就可以了。

向您展示我如何做的示例:

$url = 'REVIEW_URL_HERE';
$html = file_get_html($url,false); //see PHP Simple HTML DOM Parser
$testSelector='#SAMPLE-SELECTOR';
$content = $html->find($testSelector, 0)->plaintext;
//echo $content; //error-> seems selector is not present.
echo $html; // i expect the review link page will be loaded. but the loaded page is different

输出意外。因为我echo $html,我期待着审查页面。但是显示了一个不同的页面:

Screen Snippet

似乎我用来获取评论内容的方法已不再可行。任何关于新方法的想法? 我发现AWS关于获取评论...但是AFAIK它没有返回评论内容..它只返回评论链接..

3 个答案:

答案 0 :(得分:0)

当然,但您必须是亚马逊开发人员并使用他们的API。查看文档here

答案 1 :(得分:0)

您正在看到此消息,因为您可能反复调用amazon apis。在这种情况下,亚马逊阻止了ip地址。改变你的互联网提供商,它应该开始工作。

答案 2 :(得分:0)

也许您需要使用php和PhantomJs以及简单的Javascript。 不要忘记:使用代理

有些人喜欢这样:

 <?php
 $html = exec("phantomjs --proxy=127.0.0.1:80 --proxy-auth=root:master 
  test.js http://httpbin.org/ip");
 ?>

test.js

var args = require('system').args;
var webPage = require('webpage');
var address = args[1];
var page = webPage.create();
var fs = require('fs');
var pageResponses = {};

page.settings.userAgent = 'Mozilla/5.0 (Windows NT 10.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36';
page.settings.javascriptEnabled = true;
page.settings.loadImages = false;
phantom.cookiesEnabled = false;
phantom.javascriptEnabled = true;
page.settings.resourceTimeout = 20000;
page.customHeaders = { // use correct header
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Connection": "keep-alive",
};
page.viewportSize = { width: 1024, height: 768 };

try {
    page.open(address, function (status) {
       console.log(page.content);
       window.setTimeout(function () {
          phantom.exit();
      }, Math.random()*500 + 1500);
   });
} catch(e) {
    phantom.exit(1);
}