请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何避过验证码post过多限制的反爬

请问老师:我现在爬阿里巴巴的商铺url的移动电话字段,这个字段是需要登录后才能访问,我就把多个登录后的cookie加入代码中,写个随机数每次抽。然而爬不久就被阿里巴巴识别到,账户异常要求输入验证码。于是我就采用了云打码破解。但问题是阿里巴巴又做了验证码次数限制。post验证码过多了就不给再post了。请问老师这个反爬如何破解

正在回答 回答被采纳积分+3

2回答

bobby 2017-07-12 10:51:10

阿里的反爬应该算是国内最严格的网站之一了, 但是做过后端开发的话就能明白, 服务器判断你无非也就是那几种方式, 通过ip限制, 通过cookie限制,

这里阿里需要登录就是通过cookie限制, 也就是通过账号限制, 我看到你这里实际上用了多个账号的cookie来爬取了, 这里就有一个问题就是如果账号不多, 即使随机切换也有可能对每个账号来说还是请求频繁了, 而且阿里也极有可能会通过一个ip地址是否不停的有多个cookie发送过来, 所以你可以再申请多个账号和随机切换ip代理的方式结合来爬取, 而且也需要限速爬取, 不要爬取的过于频繁, 因为如果阿里一旦后台的逻辑是讲cookie和ip绑定来判断你随机切换ip的方式就无效了, 限速才是良性的爬虫, 不要过度的追求爬虫速度, 对于某一个网站来说有个好的节奏去爬取才是长期爬虫的关键

1 回复 有任何疑惑可以回复我~
  • 提问者 慕先生0421411 #1
    限速就有一个问题了,cookies是有时间限制的,限速太慢了爬不到多少数据,cookie就变成失效。
    回复 有任何疑惑可以回复我~ 2017-07-12 12:20:38
  • wzqnls 回复 提问者 慕先生0421411 #2
    过期后可以重新获取cookie,然后替换掉原有cookie。这个肯定不是问题的关键
    回复 有任何疑惑可以回复我~ 2017-07-13 09:37:05
  • 提问者 慕先生0421411 回复 wzqnls #3
    自动更新cookie,这样子就集成selenium到scrapy中了,每次都有启动selenium,然后把selenium的get_cookies()把cookie拿出来。再组装好付给requests请求。
    回复 有任何疑惑可以回复我~ 2017-07-13 18:05:02
提问者 慕先生0421411 2017-07-12 17:31:26

https://img1.sycdn.imooc.com/szimg//5965ec3c00015fdc12950716.jpg


这就是阿里巴巴的post验证码限制,ua加密的

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信