admin管理员组文章数量:1660688
《PHP采集今日头条内容页时,解析页面上的JS转为json》要点:
本文介绍了PHP采集今日头条内容页时,解析页面上的JS转为json,希望对您有用。如果有疑问,可以联系我们。
在采集今日头条时,由于是用JS的AJAX来获取内容,因此需要解析JS。
如果你截取到了内容页上的JS,并用PHP的JSON转化为对象。发现并不容易,因为上面的函数格式并不规范,比如:
这是页面上的标题:
{title : '这是标题,用单引号包围,PHP中JSON不能解析,需要换成双引号'}
现在想转成PHP的OBJECT,单纯用$js = json_decode ($str);
是不行的。
使用下面函数,可以过滤清理。function json_decode_convert($str, $mode=false){
$str = str_replace("''", '""', $str);
$str = preg_replace('/([a-zA-Z]+)\s*:/is', '"$1":', $str);
$str = preg_replace("/\'(.+?)\'/is", '"$1"', $str);
$str = preg_replace("/:\s*([^\"\s,\{\}]+)/is", ':"$1"', $str);
return json_decode($str, $mode);
}
执行下试试:$js = json_decode_convert ($str);
print_r ($js);
结果如图:
版权声明:本文标题:php采集今日头条出现问题,PHP采集今日头条内容页时,解析页面上的JS转为json 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729881260a1215947.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论