selenium淘宝登录和滑块破解最新可用

本文主要讲解使用selenium模拟登录淘宝爬取数据并解决滑块的一个案例,这里提供两个思路,一个是怎么登录淘宝,一个是怎么解决滑块。

1.登录淘宝:

  1. 使用selenium打开淘宝指定页面,会先跳转到淘宝的登陆页面,要求登录,第一次正常登录即可,随后使用browser.get_cookies()得到cookies值并保存下来,等到之后登录的时候先get一次网址,添加cookies,再get一次目标网址,就能够成功进去了。
  2. 代码如下:
    1. 此处注意,获取到的cookies的是列表嵌套字典的格式,而add_cookie需要添加的格式是字典类型,所以需要遍历cookies循环添加进去

2.滑块破解:

 

  1. 滑块样式:
  2. 破解思路:
    1. 使用selenium打开淘宝网的时候,淘宝网通过检测navigator的值检测你是否使用了自动化脚本,此时需要在页面上按F12,在console中输入window.navigator.webdriver,显示的值为true,则表示被检测到了,这样无论你怎么去滑滑块,都会显示出错。显示的值为undefined,则表示没有被检测到,此时就需要修改navigator的值,代码如下:
      1. 这样就能成功修改navigator的值为undefined了
    2. 使用selenium模拟滑动滑块:
      1. 首先要定位到滑块元素,点击滑动滑块,成功则抓取数据,失败则重新滑动
      2. 这里主要是模拟人的动作,由于淘宝滑块是将滑块从左滑到最右的,速度可能忽快忽慢,但是是需要一定时间才能完成这个动作的,所以使用selenium模拟的时候不能一下子就滑过去,这样失败率极高,网上的思路也很多,我这里提供一种
      3. 主要思路是每隔0.x秒滑动随机px,达到这样的一个效果,成功率还算高,基本都能通过
      4. 代码如下:
        1. 这里需要导入一个库,名为:ActionChains 语法:from selenium.webdriver import ActionChains

 

至于访问频繁被禁止访问的情况,只需要准备一个cookies池,每访问5页左右换一个cookies就可以了

以上仅为本人的一点理解,亲测可用,如有不足之处,欢迎指正!

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值