手把手带大家实现Bilibili模拟登陆(滑动验证码)项目,来肝!
在很多时候我们在做模拟登陆的时候会遇到滑动验证码,这个时候就必须要处理。
bilibili视频网站的滑动验证码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84SzkWPr-1668861160014)(https://mmbiz.qpic.cn/mmbiz/A7icgZ2Ooga2ib08SFCUibOx0hn839LeoNLiadQcBliaibglLBCicMz6EYyvp7U6ErxXjicKpy0c5RKaPCDtSuBavX6zZA/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1)]
经过分析我们知道bilibili使用的是极验的拖动验证码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-69FJ8asb-1668861160015)(https://mmbiz.qpic.cn/mmbiz/A7icgZ2Ooga2ib08SFCUibOx0hn839LeoNLAFHC32pCKicn5c0bWPs8tJqIIev7c2wBYrJOGZf5NdobiaVSvs3QhL7A/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1)]
本项目需要用到 selenium,io,PIL,time,random,请提前安装
请安装对应版本的库如下,其他库均为标准库,无需安装 pip3 install Pillow4.2.1 pip3 install selenium3.12.0
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from io import BytesIO
from PIL import Image
import time
import random
class Bilibili(object):
def __init__(self):
# 设置登录页面url
self.url = 'https://passport.bilibili.com/login'
# 创建浏览器对象
self.driver = webdriver.Chrome()
# 设置页面的隐式等待
self.driver.implicitly_wait(3)
# 设置账号密码
self.user = '18668928175'
self.pwd = '461324morganna'
def login(self):
"""
实现主要的登录逻辑
"""
pass
def run(self):
self.login()
if __name__ == '__main__':
bili = Bilibili()
bili.run()