顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-05-23 11:40:18
看板 PHP
作者 poeta (鍵盤詩人)
標題 [請益] file函數來讀網頁的問題
時間 Sun May 13 11:50:59 2018


寫了一個小程式讀網頁的原始碼並分析時,遇到一個問題,

就是用瀏覽器開某網址,是正常的。

但用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
※ 文章代碼(AID): #1QzxObxW (PHP)
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1526183461.A.EE0.html
dalconan: 改用curl的方式試試看1F 05/13 16:19
l3161316: 就是有做反爬蟲 你先用postman測到跟網頁一樣正常顯示吧2F 05/13 22:47
poeta: 我也有用curl試過,也是一樣。3F 05/13 23:23
poeta: 不過現在問題解決了,我看到很多人爬網頁都有加這一行:
poeta: curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot");
poeta: 我加上去,網頁就爬到了....好神奇
my1938: 應該是對方的網站有檢查user agent,像我的伺服器只要requ7F 05/14 12:13
my1938: est檔頭沒有user agent就會擋

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 100 
作者 poeta 的最新發文:
點此顯示更多發文記錄
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇