[請益] curl抓網頁的問題

看板PHP作者 (玩樂者)時間12年前 (2014/01/08 02:07), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
請教版上的各位大大 最近我用curl在抓http://www.books.com.tw/ 這個網站的資料 我主要是想抓商品的資料 所以我用http://www.books.com.tw/products/0010618102 類似這樣的網址,只去改變後面那段數字用迴圈去跑 當然如果跑到沒有這筆資料的編號就會跳過 有這筆資料就會擷取下來 一切都非常的順利 但是當跑連續一小段時間,大概300~400筆資料後 網站的回應時間就會變得非常的長,不知道是什麼緣故呢? 是不是此網站有防止同一個ip在短時間連續的造訪? 我的curl參數如下 $options = array(CURLOPT_URL => 'http://www.books.com.tw/products/'.$booksId, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_USERAGENT => "Google Bot", CURLOPT_CONNECTTIMEOUT=>1, CURLOPT_FOLLOWLOCATION => true ); curl_setopt_array($ch, $options); $dataString = curl_exec($ch); 不知道有什麼辦法可以讓抓取資料的時間不要突然變長? 可能的原因是什麼呢?該如何調整? 還是有其他的方式可以去抓取資料 還麻煩各位指教,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.172.148

01/08 02:42, , 1F
.....爬資料請考量站方
01/08 02:42, 1F

01/08 02:45, , 2F
持續性的Request 封包不是被網頁伺服器作掉 就是firewall擋了
01/08 02:45, 2F

01/08 08:25, , 3F
去別人家裡幹他資料 就不要想多簡單愜意了
01/08 08:25, 3F

01/08 15:44, , 4F
那就抓250 然後停一段時間 再繼續抓250 ...
01/08 15:44, 4F

01/08 16:46, , 5F
感謝大家的建議!^^
01/08 16:46, 5F
文章代碼(AID): #1Ip49Gpy (PHP)
文章代碼(AID): #1Ip49Gpy (PHP)