抓取不到html,curl和file_get_contents都抓不到,但是页面可以直接打开。

php中文网
发布: 2016-06-23 13:23:31
原创
1177人浏览过

抓取不到html,curl和file_get_contents都抓不到,但是页面可以直接打开。

请教

网址如下
https:/count.taobao.com/counter3?keys=sm_368_dsr-1097280647,iccp_1_522177046867&callback=jsonp107

为什么我怎么都抓不到内容呢,始终是空

Tellers AI
Tellers AI

Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。

Tellers AI 78
查看详情 Tellers AI


回复讨论(解决方案)

贴出你的代码来看看

$ch = curl_init();$url='https://count.taobao.com/counter3?keys=SM_368_dsr-1097280647,ICCP_1_522177046867&callback=jsonp107';curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);curl_close($ch);echo  $output;
登录后复制

试试 curl 设置下 CURLOPT_USERAGENT,浏览器标识

$ch = curl_init();$url='https://count.taobao.com/counter3?keys=SM_368_dsr-1097280647,ICCP_1_522177046867&callback=jsonp107';curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);curl_close($ch);echo  $output;
登录后复制



怎么取到这个4905,谢谢,在线等,马上结帖。
"ICCP_1_522177046867":4905

他不过是返回了一个供 jsonp 调用的函数:
jsonp107({"SM_368_dsr-1097280647":{v:0,nv:100,m_UFB:0,m:4.89661,m_g:20.15,s_UFB:0,s:4.8744,s_g:31.49,c_UFB:0,c:4.87867,c_g:39.55,gp:100.00,ss:290159,hdr:true},"ICCP_1_522177046867":4914});

截取圆括号中间的内容,用 json_decode 函数解码即可

他不过是返回了一个供 jsonp 调用的函数:
jsonp107({"SM_368_dsr-1097280647":{v:0,nv:100,m_UFB:0,m:4.89661,m_g:20.15,s_UFB:0,s:4.8744,s_g:31.49,c_UFB:0,c:4.87867,c_g:39.55,gp:100.00,ss:290159,hdr:true},"ICCP_1_522177046867":4914});

截取圆括号中间的内容,用 json_decode 函数解码即可



$arr = json_decode($response, false);
var_dump($arr);
结果$arr是Null

拿去玩吧,

<?php//$jsonp=file_get_contents('https://count.taobao.com/counter3?keys=SM_368_dsr-1097280647,ICCP_1_522177046867&callback=jsonp107');$jsonp='jsonp107({"SM_368_dsr-1097280647":{v:0,nv:100,m_UFB:0,m:4.89661,m_g:20.15,s_UFB:0,s:4.8744,s_g:31.49,c_UFB:0,c:4.87867,c_g:39.55,gp:100.00,ss:290159,hdr:true},"ICCP_1_522177046867":4915});';preg_match_all('/\d{1,}}/',$jsonp,$arr);echo trim($arr[0][0],'}');
登录后复制

更新:

<?php//$jsonp=file_get_contents('https://count.taobao.com/counter3?keys=SM_368_dsr-1097280647,ICCP_1_522177046867&callback=jsonp107');$jsonp='jsonp107({"SM_368_dsr-1097280647":{v:0,nv:100,m_UFB:0,m:4.89661,m_g:20.15,s_UFB:0,s:4.8744,s_g:31.49,c_UFB:0,c:4.87867,c_g:39.55,gp:100.00,ss:290159,hdr:true},"ICCP_1_522177046867":4915});';preg_match_all('/\d{1,}/',$jsonp,$arr);echo array_reverse($arr[0])[0];
登录后复制

敢不敢下次提问标题起个好点的名字,自己不会玩扯函数不行

<meta charset="utf-8"><?php $ch = curl_init();$url='https://count.taobao.com/counter3?keys=SM_368_dsr-1097280647,ICCP_1_522177046867&callback=jsonp107';curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);curl_close($ch);preg_match_all("/(?:\()(.*)(?:\))/i", $output, $ok);$str=$ok[1][0];$str=str_replace('{"',"{",$str);$str=str_replace('":',":",$str);$str=str_replace(',"',",",$str);//不会正则只能这样苦逼的替换了。。反正就是把他重构为json格式$str=str_replace('{','{"',$str);$str=str_replace(':','":',$str);$str=str_replace(',',',"',$str);$obj=json_decode($str);var_dump($obj);echo "这是你要的ICCP_1_522177046867:".$obj->ICCP_1_522177046867;?>
登录后复制

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号