[請益] curl 抓網頁資料

看板PHP作者 (老歐 ! 月夜雪嵐)時間14年前 (2011/06/05 00:57), 編輯推噓2(2011)
留言13則, 4人參與, 最新討論串1/1
我目前有個A網頁要抓 可是那個網頁必須要登入才可以抓 所以我變成要去B網頁 login 後 在到a網頁去抓 現在問題來了 我用curl登入B網頁後 在去撈A網頁 她又顯示沒登入了 怎會這樣勒 程式碼 (上面的curl 可以大略看看就好 因為我有登入成功了 主要是最後面) 網頁版 程式碼 (http://dl.dropbox.com/u/3503352/new%20%205.txt) 應該會比較好讀 <?php $loginData = array( 'username' => '帳號', 'password' => '密碼' ); $structData= array( 'url' => 'http://www.plurk.com/m/login', 'postFields' => 'username='.urlencode($loginData['username']).'&password='.urlencode($loginData['password']), 'header' => 0, 'followLocation' => 1, 'cookiejar' => 'C:\coo.txt' ); // $ch = curl_init(); $options = array( CURLOPT_URL => $structData['url'], CURLOPT_POSTFIELDS => $structData['postFields'], CURLOPT_POST => 1, CURLOPT_HEADER => $structData['header'], CURLOPT_FOLLOWLOCATION => $structData['followLocation'], CURLOPT_SSL_VERIFYPEER => false, CURLOPT_COOKIEJAR => $structData['cookiejar'], CURLOPT_RETURNTRANSFER => $rr, CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3" ); curl_setopt_array($ch, $options); $d = curl_exec($ch); if(curl_errno($ch) == 0) file_put_contents("data.txt", $d); // 產生 Cookie ,以便記住登入後的 Session curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'C:\cookie.txt'); curl_setopt($ch, CURLOPT_COOKIE, 'C:\cookie.txt'); //----- 讀取網頁源始碼 $fp = file_get_contents("http://www.plurk.com/m/u/davidou123"); echo $fp; ?> -- 只有正妹的無名才有連結價值阿.. http://www.wretch.cc/blog/fancyou 非正妹 所以沒有連結價值 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.110.172 ※ 編輯: davidou 來自: 218.170.110.172 (06/05 00:58)

06/05 00:58, , 1F
有現成的噗浪API可以用
06/05 00:58, 1F

06/05 00:59, , 2F

06/05 01:00, , 3F
樓上 我知道 我有寫好過了 只是想寫另一種的
06/05 01:00, 3F

06/05 08:03, , 4F
可以檢查看看 cookie 裡面有沒有資料
06/05 08:03, 4F

06/05 08:04, , 5F
CURLOPT_COOKIEJAR 的路徑 為什麼要不一樣
06/05 08:04, 5F

06/05 09:48, , 6F
COOKIE 有資料
06/05 09:48, 6F

06/05 11:49, , 7F
沒注意看… 你要兩次都用 curl ,才會用到登入的 cookie 喔
06/05 11:49, 7F

06/05 11:50, , 8F
而且你這程式很怪 感覺拼湊出來的…流程不太對
06/05 11:50, 8F

06/05 12:02, , 9F
file_get_contents 不吃你 curl的 cookie吧?
06/05 12:02, 9F

06/05 12:05, , 10F
你第一個 file_get_contents 的用法也怪怪的
06/05 12:05, 10F

06/05 12:06, , 11F
建議你全部用 curl 重寫
06/05 12:06, 11F

06/05 22:34, , 12F
恩 沒錯 當時這只是拼湊出來的 所以沒吃到CURL的資料
06/05 22:34, 12F

06/05 22:34, , 13F
後來用兩個CURL 就解決了
06/05 22:34, 13F
文章代碼(AID): #1DwcFjjh (PHP)
文章代碼(AID): #1DwcFjjh (PHP)