最近在使用selenium爬网站,但是对方网站设置了反爬,经常会跳出验证码,验证是不是人为,于是我就总结了一下使用selenium爬验证码图片并识别的方法。
1 爬验证码图片
1.1 方法一
这种方法是对方将验证码图片的url放在了<img>
中,可以先将这个url提取出来,然后将这个图片下载到本地。
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
from selenium import webdriver
driver = webdriver.Edge() # Edge浏览器
driver.get("你的url")
bf=BeautifulSoup(driver.page_source, 'html.parser')
purl=bf.find(class_='图片的class name')
img_url=purl.img["src"] #获得图片的url
urlretrieve(url=img_url,filename="captcha.jpg") #保存到本地,名为captcha.jpg
1.2 方法二
有的时候找不到对方验证码图片的url,我们只能靠自己提取,这种方法是使用截图,把验证码截取出来。
from selenium import webdriver
driver