作者blackpork (黑豬肉)
看板PHP
標題[請益] php curl 抓取網頁
時間Wed Aug 17 17:53:14 2011
想請問版上先進,若是使用 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)
1F:→ kilfu0701:剛剛試了 網址換成 tw.yahoo.com 看看 08/17 18:26
2F:推 LPH66:我不確定加上下面這行是否能解決 不過應該可以一試 08/17 20:57
3F:→ LPH66:curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); 08/17 20:57
4F:推 wzbird:如果你是在租的主機上的話, 有的主機這個函式不能用. 08/17 21:46
先感謝各位的回文,可是我將網址換成 tw.yahoo.com 後也一樣。新增 LPH66 大說的那
行也一樣...結果都是空的。而我也不是用租的主機,是自己用 VMWare 架的這樣有差別
嗎??
另外,我直接 echo $output 也沒東西...XD 是不是用 curl 還要調整 php 那裡的參數
呢?
※ 編輯: blackpork 來自: 118.167.177.54 (08/17 23:40)
5F:推 Fantasywind:看php有沒有開這個extension? 08/18 00:32
有開 curl 的 extension~
7F:→ farmerlu:即把 url 前面加上 "http://", 結尾加上 "/" 08/18 18:20
加了之後結果一樣...~"~
8F:→ arrack:var_dump($output) 搞不好是false.. 08/19 14:47
var_dump 出來的確是 false...不過這樣是代表甚麼意思呢??
※ 編輯: blackpork 來自: 118.167.191.55 (08/19 22:48)
9F:→ arrack:代表連線失敗,原因有很多種 08/20 02:20
10F:→ blackpork:那就您所知,有哪些可能的原因呢?可否提示小弟我一下..XD 08/20 19:20
11F:→ arrack:你先確定那台可以上網吧... 08/20 19:46
12F:→ farmerlu:可以用 "telnet tw.yahoo.com 80" 測試是否能連到該 web 08/21 01:03
感謝大大!!我是豬...囧rz...還真的是沒對外連線 (艸)遮臉 ..後來有對外連線之後,將網址輸入成
farmerlu 大說的那種格式就可以正確地抓取到網頁了...感謝各位阿...QQ
※ 編輯: blackpork 來自: 118.167.187.13 (08/22 14:39)