selenium+ocr 破解验证码

文章目录

      • 一、selenium获取验证码图片
        • 1、信息输入
        • 2、获取验证码图片
      • 二、OCR识别
        • 1、pytesseract库的安装与使用
        • 2、ddddocr库的安装与使用
        • 3、PaddleOCR的安装与使用
      • 三、其他问题

最近想用python做一个爬虫,但目标网站需要输入信息以及验证码才能进行信息查询,然后才能爬取相应信息,于是就想到了使用selenium进行信息输入,先爬取验证码图片,然后利用OCR技术来识别验证码,接着爬取目标信息,思路很清晰,但做起来就出现一堆问题,于是想在这里记录一下

一、selenium获取验证码图片

目标网站页面大概如下:
selenium+ocr 破解验证码_第1张图片

1、信息输入

(1)selenium传入信息比较容易,定位目标元素后使用send_keys()方法即可:driver.find_element_by_xpath('//*[@id="haha"]').send_keys('nihao')

(2)当需要重复进行输入时,我们需要先把输入框的内容清空,这需要使用.clear()方法:driver.find_element_by_xpath('//*[@id="haha"]').clear()

2、获取验证码图片

根据图片链接下载图片-----走不通
(1)对于网页上的图片,其一般是把图片链接藏在网页标签中的属性内(常见为src),我们可以定位到标签,然后使用get_attribute()方法获取其值也就是图片链接

driver.find_element_by_xpath('//*[@id="J_Reviews"]/div/div[6]/table/tbody/tr[1]/ul/li[1]').get_attribute("src")

(2)接下来是图片的保存,我们可以使用如下代码把图片保存到本地文件中

import requests
# 复制图片地址
url1 = 'https://pic.qiushibaike.com/system/pictures/12468/124687700/medium/K6KDSRPLBG3BRKPK.jpg'
image = requests.get(url = url1).content
with open('./糗事百科图片.jpg','wb'

你可能感兴趣的:(无聊就写写,selenium,python,爬虫)