后端开发|php教程
file_get_contents,curl,稳定性
后端开发-php教程
做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设置了超时,可多数时候不会奏效:
星墨系统源码,ubuntu无桌面环境,tomcat连接数据源流程,py爬虫常见错误,php8.0版本的更新,快速seo方法lzw
$config[context] = stream_context_create(array(‘http => array(‘method => “GET”,
imeout => 5//这个超时时间不稳定,经常不奏效
)
));
这时候,看一下服务器的连接池,会发现一堆类似的错误,让你头疼万分:
file_get_contents(http://***): failed to open stream…
不得已,安装了curl库,写了一个函数替换:
232交友网源码,vscode需要设置中文吗,ubuntu放弃root,tomcat开启apr模式,精准广告 爬虫,php 自动登录实现,seo是什么意思菲律宾,哪里能买到网站源代码,移动端类似的网站模板lzw
function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
如此,除了真正的网络问题外,没再出现任何问题。
这是别人做过的关于curl和file_get_contents的测试:
file_get_contents抓取需用秒数:2.31319094
2.30374217
2.21512604
3.30553889
2.30124092
curl使用的时间:0.68719101
0.64675593
0.64326
0.81983113
0.63956594
差距很大吧?呵呵,从我使用的经验来说,这两个工具不只是速度有差异,稳定性也相差很大。建议对网络数据抓取稳定性要求比较高的朋友使用上面的curl_file_get_contents函数,不但稳定速度快,还能假冒浏览器欺骗目标地址哦!
翼盟彩票源码,vscode修改默认浏览器,ubuntu教程基础,tomcat端口通不通,爬虫强制退出,php编写cms,金华义乌seo关键词优化lzw