【发布时间】:2019-03-24 19:53:43
【问题描述】:
我正在尝试使用函数 file_get_contents($url) 来抓取一些内容。但它不会返回正确的内容。它只是返回一些脚本,我认为它们负责位置和语言检查,然后它失败并且不会继续抓取整个页面
$url = 'https://shop.bitmain.com/';
$exists;
$url_headers = get_headers($url);
if(!$url_headers || $url_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}
if(filter_var($url, FILTER_VALIDATE_URL) == FALSE || $exists == false) {
$error .= '<div class="alert alert-danger" role="alert">That city could not be found.</div>';
} else if (filter_var($url, FILTER_VALIDATE_URL) == TRUE && $exists == true){
$html = file_get_contents($url);
if ($html != FALSE && $html != NULL)
echo $html
}
【问题讨论】:
-
我认为它得到了 正确的 内容。该页面显然是一个 js 网络应用程序,当您使用浏览器“查看源”目标页面时,脚本几乎就是您所获得的所有内容......
-
对不起,我已经编辑过了。是的
-
在浏览器中打开网址...查看源代码...这就是您的 PHP 将获得的内容
-
我看到了,但原始页面包含一些数据,即产品及其价格。我需要这些数据而不是脚本
-
“需要”是一个强词。我了解您想要该信息,但它比简单的 file_get_contents() 更难获得 - 您必须运行脚本,它是一个完整的 应用程序,以便让它以与您在浏览器中看到的相同的方式提升。
标签: javascript php