看板 Python 關於我們 聯絡資訊
請問一下 爬了好幾頁都正常,但在請求時突然會蹦出這個錯誤(正確的話是會回傳一大串 jasn 的格式) js_data : {'message': 'rate limited', 'status': 'fail'} 但是我把網址貼到瀏覽器上面是正常的,程式裡執行卻讀不出來 請問該如何是好? 困擾我好久了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.213.197.216 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1591371824.A.1FE.html
max36067: 你有加header嗎? 可能會擋爬蟲 06/06 00:24
alvinlin: 建議用API。facebook的或舊的instgramAPI。但舊的很快就 06/06 01:20
alvinlin: 不能用了 06/06 01:20
alvinlin: https://tinyurl.com/yb755osg 06/06 02:31
ddavid: message都說rate limited了啊,你爬的速度太快了,他限制 06/06 07:38
ddavid: 你不可以爬那麼快,遇到這種情況就是sleep一段時間繼續 06/06 07:39
ddavid: sleep要多久就看它的限制,或記錄一下次數時間來估計一下 06/06 07:43
ddavid: 他的速限來加以調整 06/06 07:44
vi000246: http://t.ly/9RaO 06/06 09:59
yoz4ni: 我有加 header,加了會被擋住??? 06/06 20:13
yoz4ni: 我是沒用 API 啦,自己寫出來,用 API 會比較好嗎? 06/06 20:14
yoz4ni: sleep 我會再去看一下~ 06/06 20:14
ddavid: 原Po,反正就是速限問題,不管你用哪個方法,看起來基本上 06/07 00:50
ddavid: 就是你同一個來源衝太快它就是會擋你 06/07 00:50
ddavid: sleep就只是休息一段時間不抓而已,沒啥特別的 06/07 00:51
ddavid: 就上面連結來看,你一小時只能call 200次,所以如果你call 06/07 00:53
ddavid: 200次只花了5分鐘,接下來你就得sleep(3300)把剩下的55分 06/07 00:54
ddavid: 鐘休息掉,不然同一個程式來源怎麼試都是被擋 06/07 00:55
ddavid: 實作上也不用算這麼精確,反正抓到message跟你說上限到了 06/07 00:56
ddavid: ,程式就sleep個10分鐘再起來重抓,還是限就再sleep,以上 06/07 00:58
ddavid: loop就可以自動搞定了 06/07 00:58
vi000246: 你可以測他是怎麼擋的 想辦法繞過 06/07 16:26
yoz4ni: 好的 感謝各位 我後來用 sleep 的方式 06/08 01:02
yoz4ni: 繞過的話可能還要在去研究遺下 06/08 01:03
salmon12706: 工研院人工智慧課程推薦https://reurl.cc/4RDRaK 06/29 16:17