一、破解极验验证码思路
现在极验验证码广泛应用于直播视频、金融服务、电子商务、游戏娱乐、政府企业等各大类型网站
对于这类验证,如果我们直接模拟表单请求,繁琐的认证参数与认证流程会让你蛋碎一地,我们可以用selenium驱动浏览器来解决这个问题,大致分为以下几个步骤:
1、输入用户名,密码
2、点击按钮验证,弹出没有缺口的图
3、获得没有缺口的图片
4、点击滑动按钮,弹出有缺口的图
5、获得有缺口的图片
6、对比两张图片,找出缺口,即滑动的位移
7、按照人的行为行为习惯,把总位移切成一段段小的位移
8、按照位移移动
9、完成登录
二、代码模块
这里以某小说平台为例,自动登录获取cookies
代码如下:
import time
import re
import random
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from urllib.request import urlretrieve
from PIL import Image
from selenium.webdriver.common.action_chains import ActionChains
import pymysql
import json
import time
from selenium import webdriver
import win32api
import win32con
import win32clipboard
from ctypes import *
class yuewen():
def __init__(self):
"""
初始化属性,传入url地址,驱动路径,浏览器窗口最大化,伪造ua
"""
self.url = 'https://open.yuewen.com/'
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
# chrome_options.add_argument('--disable-dev-shm-usage')
# chrome_options.add_argument('--disable-gpu')
# chrome_options.add_argument('--headless')
self.driver = webdriver.Chrome(options=chrome_options)
self.driver.maximize_window()
#self.headers = {'user-agent': &#