当前位置: 首页 > Web前端 > HTML

亚马逊验证码95%成功率绕过亚马逊IP验证码

时间:2023-03-28 16:49:56 HTML

这次又要折腾亚马逊了。之前介绍过Amazon的productacquisition和reviewacquisition。但是在批量获取、多次访问的情况下,就需要验证码了:当然,这种情况下你肯定获取不到数据。然而,你真的很接近你想要的数据。所以这次的目的就是绕过这个验证码,获取验证码背后的数据。1、Amazoncaptchagit地址:https://github.com/a-maliarov...出现在这个页面时使用的是Amazoncaptcha包,可以通过selenium获取当前验证码页面,使用Amazoncaptcha包的fromdriver方法返回str格式的验证码:1.fromamazoncaptchaimportAmazonCaptcha2.fromseleniumimportwebdriver3.4.driver=webdriver.Chrome()#这是一个简化的例子5.driver.get('https://www.amazon.com/errors/validateCaptcha')6.7.captcha=AmazonCaptcha.fromdriver(driver)8.solution=captcha.solve()另一种方式是通过Amazoncaptcha.fromlink方法获取验证码页的验证码图片链接:1.fromamazoncaptchaimportAmazonCaptcha2.3.link='https://images-na.ssl-images-amazon.com/captcha/usvmgloq/Captcha_kwrrnqwkph.jpg'4.5.captcha=AmazonCaptcha.fromlink(link)6.solution=captcha.solve()2.亚马逊验证码认证及Amazoncaptcha具体使用首先打开亚马逊ve验证代码页(没有办法重现错误,把之前报错的html保存在本地,不是不能看),按照图片输入验证码后发送验证,查看网络请求:herewe可以发现这个链接除了我们输入的验证码字段-关键字外,还有两个参数amzn和amzn-r。那么这两个参数从何而来呢?回到输入验证码的页面,查看元素,这个页面隐藏了两个,这两个参数的值在这里:当然,验证码图片的链接也是手动获取的,然后所有参数组成链接:1.imgUrl=sel.css(".a-spacing-double-large.a-sectionform.a-spacing-large.a-text-centerimg::attr(src)").extract_first()2.captcha=AmazonCaptcha.fromlink(imgUrl)3.solution=captcha.solve()4.amzn=sel.xpath("//input[@name='amzn']/@value").extract_first()5.amznr=sel.xpath("//input[@name='amzn-r']/@value").extract_first()6.validUrl=f"https://www.amazon.com/errors/validateCaptcha?amzn={amzn}&amzn-r={amznr}&field-keywords={solution}"这样就可以得到发送验证码的链接。当你请求一个亚马逊产品页面时,你突然回到验证码页面。按照上面的思路,获取验证码的验证链接,然后进行get请求。你会发现返回的链接是你想要的东西,不需要重定向:但是有一点,不管是Amazon的各种请求还是Amazoncaptcha需要请求验证码图片链接,都无法正常请求。如果确实需要,还是需要代理人协助请求。我这里使用的是ipidea的代理。一个好的代理可以帮助你更好的获取数据,高质量低延迟,新用户可以白嫖!地址:www.ipidea.net以上就是亚马逊验证码的使用方法。