这个页面不知道为什么采集不了?希望php高手给写个php的curl的采集,我是新手就是想知道为什么。 180
3个回答
2016-08-24 · 知道合伙人互联网行家
关注
展开全部
解决这类问题需要研究浏览器控制台里的网络请求信息,建议使用火狐浏览器Firebug扩展
会比较方便一些。
关于此类问题的解决请参考我的博客《PHP cURL实现模拟登录与采集使用方法详解》
http://www.zjmainstay.cn/php-curl
补充:
测试代码如下,本地测试可以,阿里云测试失败。
怀疑网站有针对区域性ip做限制的情况,这种情况请试用代理实现采集。
<?php
$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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除了楼上说的,采集不了还可能是
协议头的 user-agent需要填写浏览器信息
协议头 host 主机名 将对方的域名填写上
协议头 referer 来源地址填写
还要注意301跳转 有时候甚至是3-4层的301,需要层层获取location地址。
有时候可能也需要提交cookie请求。
楼主的url在图片里,我懒得去看,大概说说可能出现的问题,不对的地方请包含。
协议头的 user-agent需要填写浏览器信息
协议头 host 主机名 将对方的域名填写上
协议头 referer 来源地址填写
还要注意301跳转 有时候甚至是3-4层的301,需要层层获取location地址。
有时候可能也需要提交cookie请求。
楼主的url在图片里,我懒得去看,大概说说可能出现的问题,不对的地方请包含。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-08-23
展开全部
把链接发来我看看ghb321@qq.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询