[請益] 想請問一個抓網頁內容的問題

看板PHP作者 (摳屁蛋)時間15年前 (2010/07/11 20:01), 編輯推噓4(405)
留言9則, 4人參與, 最新討論串1/2 (看更多)
我要抓的是這個網址的資料 http://www.facebook.com/srch.php?nm=%E5%A5%95%E7%BF%94&init=ffs 自己測試不管有無登入,還是可以顯示頁面 可是在抓內容的時候 卻會顯示: 你使用的是不相容的網路瀏覽器。 抱歉,您正在使用的瀏覽器實在太炫了,我們並未支援。請使用下列我們建議的瀏覽器: Mozilla Firefox Safari Microsoft Internet Explorer 瀏覽器 不知道是否是甚麼原因,已經用了3種方法去抓網頁 1.file_get_contents() 抓出來會顯示出上面的不相容瀏覽器 查出來這個function好像是要用URL編碼才行 可是這個網址是URI....所以嘗試了其他方法 2.curl $url = "http://www.facebook.com/srch.php?nm=%E5%A5%95%E7%BF%94&init=ffs"; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $contents = curl_exec($ch); curl_close($ch); echo $contents; 這個顯示出來是沒有東西@@ 3.fopen $handle = fopen ("http://www.facebook.com/srch.php?nm=%E5%A5%95%E7%BF%94&init=ffs", "rb"); $contents = ""; do { $data = fread($handle, 8192); if (strlen($data) == 0) { break; } $contents .= $data; } while(true); fclose ($handle); echo $contents; 這個也是顯示不相容瀏覽器........ 研究了好久,不知道是哪裡出了問題 希望板上高手給予解答 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.94.90

07/11 20:04, , 1F
送 User-Agent?
07/11 20:04, 1F

07/11 20:06, , 2F
具體方法是你的方法二中設定 CURLOPT_USERAGENT 為某字串
07/11 20:06, 2F

07/11 20:07, , 3F
是什麼字串我記得可以寫一隻小 php 來抓 忘了用什麼指令了..
07/11 20:07, 3F

07/11 20:08, , 4F
CURLOPT_USERAGENT curl加上這個user_agent的資訊即可
07/11 20:08, 4F

07/11 20:10, , 5F
找到了 那字串可用 $_SERVER['HTTP_USER_AGENT'] 來抓
07/11 20:10, 5F

07/11 20:10, , 6F
useragent的值可參照 http://www.user-agents.org/
07/11 20:10, 6F

07/11 20:14, , 7F
OK我試試看
07/11 20:14, 7F

07/11 21:37, , 8F
原po帥哥
07/11 21:37, 8F

07/12 02:19, , 9F
= =...
07/12 02:19, 9F
文章代碼(AID): #1CERAQ2h (PHP)
文章代碼(AID): #1CERAQ2h (PHP)