作者thelibertine (玩樂者)
看板PHP
標題[請益] curl抓網頁的問題
時間Wed Jan 8 02:07:10 2014
請教版上的各位大大
最近我用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
1F:推 alog:.....爬資料請考量站方 01/08 02:42
2F:推 alog:持續性的Request 封包不是被網頁伺服器作掉 就是firewall擋了 01/08 02:45
3F:→ MOONRAKER:去別人家裡幹他資料 就不要想多簡單愜意了 01/08 08:25
4F:→ lyforever:那就抓250 然後停一段時間 再繼續抓250 ... 01/08 15:44
5F:→ thelibertine:感謝大家的建議!^^ 01/08 16:46