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