[請益] php curl 抓取網頁

看板PHP作者 (黑豬肉)時間14年前 (2011/08/17 17:53), 編輯推噓3(309)
留言12則, 7人參與, 最新討論串1/1
想請問版上先進,若是使用 curl 函數要抓取網頁資訊,但是最後結果卻是空的。 有可能是甚麼地方的問題呢?? 附上我的 code: $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, "www.yahoo.com.tw"); $output = curl_exec($ch); curl_close($ch); $fp = fopen("output.txt","w"); fputs($fp, $output); fclose($fp); 而 output.txt 的權限已開,但是都沒有任何資訊存入... 有先進能提供點方向嗎?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.184.159 ※ 編輯: blackpork 來自: 118.167.184.159 (08/17 17:57)

08/17 18:26, , 1F
剛剛試了 網址換成 tw.yahoo.com 看看
08/17 18:26, 1F

08/17 20:57, , 2F
我不確定加上下面這行是否能解決 不過應該可以一試
08/17 20:57, 2F

08/17 20:57, , 3F
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
08/17 20:57, 3F

08/17 21:46, , 4F
如果你是在租的主機上的話, 有的主機這個函式不能用.
08/17 21:46, 4F
先感謝各位的回文,可是我將網址換成 tw.yahoo.com 後也一樣。新增 LPH66 大說的那 行也一樣...結果都是空的。而我也不是用租的主機,是自己用 VMWare 架的這樣有差別 嗎?? 另外,我直接 echo $output 也沒東西...XD 是不是用 curl 還要調整 php 那裡的參數 呢? ※ 編輯: blackpork 來自: 118.167.177.54 (08/17 23:40)

08/18 00:32, , 5F
看php有沒有開這個extension?
08/18 00:32, 5F
有開 curl 的 extension~

08/18 18:19, , 6F
url 改成 "http://tw.yahoo.com/" ?
08/18 18:19, 6F

08/18 18:20, , 7F
即把 url 前面加上 "http://", 結尾加上 "/"
08/18 18:20, 7F
加了之後結果一樣...~"~

08/19 14:47, , 8F
var_dump($output) 搞不好是false..
08/19 14:47, 8F
var_dump 出來的確是 false...不過這樣是代表甚麼意思呢?? ※ 編輯: blackpork 來自: 118.167.191.55 (08/19 22:48)

08/20 02:20, , 9F
代表連線失敗,原因有很多種
08/20 02:20, 9F

08/20 19:20, , 10F
那就您所知,有哪些可能的原因呢?可否提示小弟我一下..XD
08/20 19:20, 10F

08/20 19:46, , 11F
你先確定那台可以上網吧...
08/20 19:46, 11F

08/21 01:03, , 12F
可以用 "telnet tw.yahoo.com 80" 測試是否能連到該 web
08/21 01:03, 12F
感謝大大!!我是豬...囧rz...還真的是沒對外連線 (艸)遮臉 ..後來有對外連線之後,將網址輸入成 farmerlu 大說的那種格式就可以正確地抓取到網頁了...感謝各位阿...QQ ※ 編輯: blackpork 來自: 118.167.187.13 (08/22 14:39)
文章代碼(AID): #1EIu-CMj (PHP)
文章代碼(AID): #1EIu-CMj (PHP)