我正在开发一个 php 爬虫,我可以在页面中获取所有链接的 href。我不想在我的数据库中保存文件下载链接的 url,例如
http://www.example.com/folder1/thefile.exe
http://www.example.com/folder1/download.php?id=1
http://www.example.com/folder1/thefile.zip
http://www.example.com/folder1/thefile.extension
或任何其他扩展。
这是我的有效函数,我知道 is_file() 函数在这里没用。
protected function isValid($url)
{
$isJavascript = strpos(strtolower($url), 'javascript:') !== false; // remove javascript links
$isEmail = strpos(strtolower($url), 'mailto:')!==false; // remove mailto links
if($isEmail || $isJavascript)
return false;
if(is_file($url)){
echo "is file<br>";
return false;
} else echo "is not file<br>";
if (strpos($url, $this->_host) === false
|| $this->isSeen($url)
) {
return false;
}
return true;
}
现在我的问题是:我如何检测导致文件下载的任何 url?