目前,我通过审核链接获取亚马逊客户评论的方式是使用
通过提供评论链接,我可以获取评论内容 标题,评级评论,描述,图像,视频,作者等
如果我知道每个内容的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
,我期待着审查页面。但是显示了一个不同的页面:
似乎我用来获取评论内容的方法已不再可行。任何关于新方法的想法? 我发现AWS关于获取评论...但是AFAIK它没有返回评论内容..它只返回评论链接..
答案 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);
}