admin管理员组

文章数量:1660689

《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