做网站教程免费,广州网站改版设计,做电影网站服务器需求,源码 网站建设教程两种方式#xff1a;
验证码识别技术 (很难达到100%) 添加Cookie #xff08;*****五星推荐#xff09;
方式一#xff1a;验证码识别技术
逻辑方式#xff1a; 1#xff1a;打开验证码所在页面#xff0c;截图。获取验证码元素坐标#xff0c;剪切出验证码图片
验证码识别技术 (很难达到100%) 添加Cookie *****五星推荐
方式一验证码识别技术
逻辑方式 1打开验证码所在页面截图。获取验证码元素坐标剪切出验证码图片识别 以途牛为例 代码
from PIL import Image # 用户打开图片和对图片处理
from selenium import webdriver
from selenium.webdriver.common.by import By
import ddddocr
driver webdriver.Chrome()
# 打开登录页面
driver.get(https://passport.tuniu.com/login?originhttps://www.tuniu.com/ssoConnect)
driver.implicitly_wait(30) # 隐式等待30s
driver.save_screenshot(./image/页面截图.png) # 全屏截图
page_snap_obj Image.open(./image/页面截图.png) # 打开图片
# 获取验证码元素
img driver.find_element(By.XPATH, //*[idline_3]/td/div/div[3]/a[1]/img)
location img.location # location属性可以返回该图片对象(既这张图片)在浏览器中的位置以字典的形式返回
size img.size # 获取图验证码的宽x高
left location[x] # 此处的x和y是图片验证码左上角的点再浏览器中的x轴y轴对应的值
top location[y]
right left size[width]
bottom top size[height]
# 按照提供的图片验证码的左上右下的坐标值对图片验证码进行裁剪
image_obj page_snap_obj.crop((left, top, right, bottom))
# 把图片强制转成RGB
img image_obj.convert(RGB)
img img.convert(L)
# 保存处理过后的验证码图片
img.save(./image/code_image.png)
# 进行验证码识别
ocr ddddocr.DdddOcr()
with open(./image/code_image.png, rb) as f:img_bytes f.read()
# 识别后的验证码
res ocr.classification(img_bytes)
print(验证码 res)
# 获取验证码输入框输入验证码
# driver.find_element(By.XPATH, //*[ididentify]).send_keys(res)
# time.sleep(5)
driver.quit()方式二添加Cookie 以百度为例
步骤 1获取指定cookie get_cookie(cookie名) 2获取本网站所有本地cookies: get_cookies() 3添加cookieadd_cookie({字典对象}) 百度cookie获取 先F12打开网络工作台再登录抓包 这一步就拿到百度cookie了代码
from time import sleep
from selenium import webdriver
driver webdriver.Chrome()
driver.implicitly_wait(30)
driver.get(https://www.baidu.com)
sleep(3)
driver.add_cookie({name: BDUSS, value: 你的BUDSS的值}) # 登录百度时抓包获取
print(driver.get_cookie(BDUSS))
driver.refresh()
sleep(5)
driver.quit()