《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.snjht.com/jiaocheng/5763.html