作者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/cn.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