看板 PHP 關於我們 聯絡資訊
請教版上的各位大大 最近我用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
alog:.....爬資料請考量站方 01/08 02:42
alog:持續性的Request 封包不是被網頁伺服器作掉 就是firewall擋了 01/08 02:45
MOONRAKER:去別人家裡幹他資料 就不要想多簡單愜意了 01/08 08:25
lyforever:那就抓250 然後停一段時間 再繼續抓250 ... 01/08 15:44
thelibertine:感謝大家的建議!^^ 01/08 16:46