欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

采集遇到一个怪异有关问题

程序员文章站 2024-01-29 18:21:58
...
采集遇到一个怪异问题
目标地址 www.zhibo8.com

本地环境:windows xp + xmapp 1.7.7
file_get_contents 或者 curl 都没问题,首页面完全获取;

放到国外的服务器上,linux, Apache 2.0
file_get_contents 为空
curl 会和浏览器访问打开的不一致,内容少好多,但是结束标签是全的。

而且我用curl发送模拟浏览器的全部header也是一样不完整。

请大伙帮分析一下,可能存在的原因及如何解决,谢谢!

------解决方案--------------------
估计是linux环境的问题吧
我之前抓www.fblife.com也是windows下curl测试通过,但同样代码linux下就得不到完整的
这个网站我在Ubuntu9.10下CURL测试通过,可以抓取完整,不知道是不是你linux配置问题?
------解决方案--------------------
暂时木有。。。很纠结
说来奇怪,程序放到网站目录下,从浏览器访问程序文件抓取的信息很完整,linux,windows都可以,但是,linux后台抓取就是不行,怎么做都抓不全,我估计可能是linux配置的问题。楼主可以试一下wget命令
------解决方案--------------------
服务器的网络.访问国内的不行.这个是我的猜测.在国内主机上多半没问题
------解决方案--------------------
看看编码问题吧
$string = iconv('gb2312', 'utf-8//ignore', $string);
------解决方案--------------------
到国外的服务器上
file_get_contents 为空
可能未开放权限,也可能超时

curl 会和浏览器访问打开的不一致,内容少好多
那是一个纯中文网站,在国外看不到或看不全是很正常的。没有多少人能看懂中文
当然也与超时和curl支持库有关
------解决方案--------------------
这就是一种优越性
------解决方案--------------------
探讨

发现一个很悲催的问题,设置项太多了,就会出问题

function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNT……
采集遇到一个怪异有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频