[請益] file函數來讀網頁的問題

作者: poeta (鍵盤詩人)   2018-05-13 11:50:59
寫了一個小程式讀網頁的原始碼並分析時,遇到一個問題,
就是用瀏覽器開某網址,是正常的。
但用php程式去讀那個網址,程式讀出來的網頁,和我看的不同。
例如:https://goo.gl/T6BcEx
(我在程式是沒縮網址的 只是在ptt網址超過一行才縮)
我想要讀出這本書的「責任者」、「版本」。
但是用file()函數去讀網址,卻讀不到這些東西,該顯示的地方,變成
元数据展现,元数据展现 暂时无法取用。
可能是網址裡的函數沒有讀進去吧!該怎麼解決?
01 $http="https://goo.gl/T6BcEx";
02 $buffer = file($http);
03 for($i=0;$i<sizeof($buffer);$i++)
04 echo $buffer[$i]."<BR>";
作者: dalconan (寒江雪)   2018-05-13 16:19:00
改用curl的方式試試看
作者: l3161316 (口水)   2018-05-13 22:47:00
就是有做反爬蟲 你先用postman測到跟網頁一樣正常顯示吧
作者: poeta (鍵盤詩人)   2018-05-13 23:23:00
我也有用curl試過,也是一樣。不過現在問題解決了,我看到很多人爬網頁都有加這一行:curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot");我加上去,網頁就爬到了....好神奇
作者: my1938 (不知道該說什麼)   2018-05-14 12:13:00
應該是對方的網站有檢查user agent,像我的伺服器只要request檔頭沒有user agent就會擋

Links booklink

Contact Us: admin [ a t ] ucptt.com