php curl采集JD用户评论

先说一下我遇到的问题吧。

1、页面js报错,说’src’不存在。
2、拿到数据后json_decode()回来NULL。
解决:
1、js报错,我在本地(环境下经过localhost访问的php文件),放到线上环境,报错消失。
2、回来NULL,首要我们拿到数据不是纯json格局的,无法直接转换需求去头去尾,而且编码格局也不是UTF-8的需求转码。
下面是我写的demo:
php文件:
$url,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_ENCODING=>””,
CURLOPT_MAXREDIRS=>10,
CURLOPT_TIMEOUT=>0,
CURLOPT_FOLLOWLOCATION=>true,
CURLOPT_HTTP_VERSION=>CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST=>”GET”,
CURLOPT_POSTFIELDS=>array(‘a’=>’123′,’b’=>’456’),
CURLOPT_HTTPHEADER=>array(
“Cookie:JSESSIONID=768126C3E357B9D82367536A90FA697F.s1;jwotest_product=99″
),
));
$output=curl_exec($curl);
curl_close($curl);
//这儿的’fetchJSON_comment98’字符串你要自己看一下与可能不同。
//去除得到的json数据的头部和尾部数据。得到一个和php能够转换的json数据。
$output=str_replace(‘fetchJSON_comment98(‘,”,$output);
$output=str_replace(‘}]});’,’}]}’,$output);
//检查编码格局
$encode=mb_detect_encoding($output,array(“ASCII”,’UTF-8′,”GB2312″,”GBK”,’BIG5′));
if($encode==’UTF-8′){
//echo$encode;
}else{
//编码转换,转成UTF-8
$output=mb_convert_encoding($output,’UTF-8′,$encode);
}
//转码转成数组
$result=json_decode($output,true);
//判别是否是数组,避免空数据,下面的foreach保错。
if(!is_array($result)){
break;
}
foreach($resultas$k=>$v){
//数组里还有其他的一些杂数据,需求去除去。我这个在以后的日子里不一定准,你要自己查看一下在做过滤。
if(is_array($v)&&isset($v[0][‘content’])){
foreach($vas$key=>$value){
//直接输出到页面上并换行
echo$value[‘content’].”
“;
///着里我是想存入文件的,需求能够打开,文件目录自己设置一下。
//file_put_contents(‘static/log/log.txt’,$value[‘content’].PHP_EOL,FILE_APPEND);
}
}
}
$i++;
}
html页面:
Document
网址
开端页数
完毕页数

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章