《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);
结果如图:
转载请注明本页网址:
http://www.vephp.com/jiaocheng/5763.html