我正在运行视频链接聚合器,我有一个脚本可以检查视频是否已从网站中删除。它通过获取链接的HTML输出并检查目标关键字来完成。
目前我使用file_get_contents()来获取链接的html代码。问题是,如果删除链接,某些网站会重定向到另一个网址。
使用curl解决了问题......但是它会使用更多的服务器资源吗?我每10分钟运行一次检查脚本,它会检查1000个链接(数据库中有300,000个链接)。
我想使用的代码如下:
$Curl_Session = curl_init('http://www.domain.com');
curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($Curl_Session, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec ($Curl_Session);
curl_close ($Curl_Session);
答案 0 :(得分:3)
如果有的话,它会更快。如果您的php已经使用curl编译,那么无论您是否使用curl,您都将使用相同数量的内存。
但是,我会关注这些链接。你可以通过这种方式进入循环或者进行大量的跳跃,从而减慢你的脚本速度。所以我会添加一个最大CURLOPT_MAXREDIRS
另外,您是否正在下载这些视频以查看它们是否存在?我只是得到远程文件大小:
curl_setopt($Curl_Session, CURLOPT_HEADER, false);
curl_setopt($Curl_Session, CURLOPT_NOBODY, true);
获得大小
$info = curl_getinfo();
echo $info[‘download_content_length’]
答案 1 :(得分:1)
答案 2 :(得分:1)
CURL库不能慢于网络,所以不用担心。一个更快的互联网连接和一些分发这种检查的方式将比任何图书馆帮助你更多,无论它有多慢。