Re: [請益] simplexml_load_file讀不到資料的問題
推 poeta: 可是好像又不是語法的問題,因為還是直接報錯: 04/10 18:11
→ poeta: HTTP 錯誤 500.0 - Internal Server Error 04/10 18:11
→ poeta: 讀取的網站一多就會變成那樣 04/10 18:12
用「simplexml_load_file 500」搜尋,第一篇是
http://stackoverflow.com/questions/1436614
從這篇看起來,simplexml_load_file() 只能處理 200 的回應
對方如果噴了 500 回來就會噴 warning
從這個方向來考慮,想出的解法是「用某個不管 200 還是 500 都能動的東西來抓資料」
例如說...curl,也就是連結中 RageZ 的回答
------------------------------------------------
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml = curl_exec($ch);
$a = simplexml_load_string($xml);
------------------------------------------------
是說要自己做 RSS reader 去爬別人的 RSS 應該還會踩到很多地雷,加油...XD
不過如果目的只是想讀 RSS 的話
我建議用 feedly,或者不想用網路服務可以用 Thunderbird。
--
頂天立地:愛孩子就要支持蘿莉控
http://goo.gl/Bha7e
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.59.43
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1428860405.A.3E3.html
推
04/13 10:18, , 1F
04/13 10:18, 1F
※ 編輯: GALINE (61.218.242.230), 04/13/2015 10:49:23
推
04/13 22:35, , 2F
04/13 22:35, 2F
→
04/13 22:35, , 3F
04/13 22:35, 3F
→
04/13 22:36, , 4F
04/13 22:36, 4F
→
04/13 22:37, , 5F
04/13 22:37, 5F
→
04/13 22:37, , 6F
04/13 22:37, 6F
從 web server 那邊執行的話會有時間限制
如果你是用 linux 或 mac,直接在指令行「php reader.php」就可以
還可以迴圈裡面「echo $url, "\n";」確認執行的進度
windows 我不確定,不過應該有類似的作法可以在指令列直接執行
※ 編輯: GALINE (61.227.55.198), 04/14/2015 23:57:48
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章