为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Curl 抓取网站返回空白结果

使用 Curl 抓取网站返回空白结果

PHP
慕仙森 2022-01-14 16:12:37
我想做的是使用随机关键字在亚马逊上进行搜索,然后我可能会抓取前 10 个结果,当我print得到 html 结果时,我什么也没得到,它只是空白,我的代码看起来还可以我和我过去曾使用过 CURL,但从未遇到过这个,我的代码:<?phpinclude_once("classes/simple_html_dom.php");function get_random_keyword() {    $f_contents = file("keywords.txt");     return $f_contents[rand(0, count($f_contents) - 1)];    }function getHtml($page) {    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $page);    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');    $html = curl_exec($ch);    print "html -> " . $html;    curl_close($ch);        return $html;}$html = getHtml("https://www.amazon.co.uk/s?k=" . get_random_keyword());?>理想情况下,我更喜欢使用 API,但据我了解,在您获得访问权限之前,您需要先进行 3 次销售,任何人都可以看到任何问题吗?我不知道还有什么要检查的,任何帮助表示赞赏。
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

亚马逊正在返回以 gzip 编码的响应。您需要对其进行解码:


$html = getHtml("https://www.amazon.co.uk/s?k=" . get_random_keyword());

echo gzdecode($html);


查看完整回答
反对 回复 2022-01-14
  • 1 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信