[請益] (已解決)curl 抓TripAdvisor的問題

看板PHP作者 (江神Johnson)時間12年前 (2013/02/27 15:16), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
我利用 <? $url_english = "http://www.tripadvisor.com.tw/MachineTranslation?g=293913&d=1395608& r=152323327&page=review&sl=en&tl=zh_TW"; echo $url_english."<br>"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url_english); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $output = curl_exec($ch); curl_close($ch); echo "<textarea rows=\"4\" cols=\"50\">"; echo $output; //整篇文章 echo "</textarea>"; echo "<br>"; ?> 取得我要的網頁原始碼 但是回傳完全是空的 他原本是 http://www.tripadvisor.com.tw/ShowUserReviews-g293913-d1395608-r152323327 -Hotel_Eclat-Taipei.html#REVIEWS 網頁中 ""點我看中文"" 的功能 我想是不是因為是TripAdvisor去呼叫google翻譯的API需要時間 所以curl太早抓 所以回傳為空 但是加了CURLOPT_CONNECTTIMEOUT 之後 覺得好像也不是這樣(還是抓不到) 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.68.93

02/27 16:05, , 1F
第一次打開是空白的 流覽過你原本的才有東西 猜cookie
02/27 16:05, 1F

02/27 16:52, , 2F
最上面的url直接開 是有東西沒錯 就是抓不到
02/27 16:52, 2F

02/27 16:56, , 3F
我懂你的意思了 所以需要先看下面的網址取得cookie
02/27 16:56, 3F

02/27 17:08, , 4F
已解決謝謝大大 方法是先瀏覽下面的網頁存下cookie
02/27 17:08, 4F

02/27 17:09, , 5F
然後讀取cookie 開上面的網頁 再次感謝 ^^
02/27 17:09, 5F
文章代碼(AID): #1HBRBeBG (PHP)
文章代碼(AID): #1HBRBeBG (PHP)