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

看板PHP作者 (鍵盤詩人)時間6年前 (2018/05/13 11:51), 編輯推噓3(305)
留言8則, 4人參與, 6年前最新討論串1/1
寫了一個小程式讀網頁的原始碼並分析時,遇到一個問題, 就是用瀏覽器開某網址,是正常的。 但用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>"; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.154.236 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1526183461.A.EE0.html

05/13 16:19, 6年前 , 1F
改用curl的方式試試看
05/13 16:19, 1F

05/13 22:47, 6年前 , 2F
就是有做反爬蟲 你先用postman測到跟網頁一樣正常顯示吧
05/13 22:47, 2F

05/13 23:23, 6年前 , 3F
我也有用curl試過,也是一樣。
05/13 23:23, 3F

05/13 23:23, 6年前 , 4F
不過現在問題解決了,我看到很多人爬網頁都有加這一行:
05/13 23:23, 4F

05/13 23:24, 6年前 , 5F
curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot");
05/13 23:24, 5F

05/13 23:24, 6年前 , 6F
我加上去,網頁就爬到了....好神奇
05/13 23:24, 6F

05/14 12:13, 6年前 , 7F
應該是對方的網站有檢查user agent,像我的伺服器只要requ
05/14 12:13, 7F

05/14 12:13, 6年前 , 8F
est檔頭沒有user agent就會擋
05/14 12:13, 8F
文章代碼(AID): #1QzxObxW (PHP)
文章代碼(AID): #1QzxObxW (PHP)