这个页面不知道为什么采集不了?希望php高手给写个php的curl的采集,我是新手就是想知道为什么。

2025-05-09 03:19:15
推荐回答(3个)
回答1:

解决这类问题需要研究浏览器控制台里的网络请求信息,建议使用火狐浏览器Firebug扩展
会比较方便一些。

关于此类问题的解决请参考我的博客《PHP cURL实现模拟登录与采集使用方法详解》
http://www.zjmainstay.cn/php-curl

补充:
测试代码如下,本地测试可以,阿里云测试失败。
怀疑网站有针对区域性ip做限制的情况,这种情况请试用代理实现采集。

    $url = 'http://cx.xtbus.com:83/gpsSelectLineDirect.action?gps_line_id=0103&gps_line_name=33C2B7';
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回数据不直接输出
    curl_setopt($ch, CURLOPT_ENCODING, "gzip"); //指定gzip压缩
    $content = curl_exec($ch); //执行并存储结果
    curl_close($ch);
    echo $content;

回答2:

除了楼上说的,采集不了还可能是
协议头的 user-agent需要填写浏览器信息
协议头 host 主机名 将对方的域名填写上
协议头 referer 来源地址填写
还要注意301跳转 有时候甚至是3-4层的301,需要层层获取location地址。
有时候可能也需要提交cookie请求。
楼主的url在图片里,我懒得去看,大概说说可能出现的问题,不对的地方请包含。

回答3:

把链接发来我看看ghb321@qq.com