selenium+ocr 破解验证码


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

一、selenium获取验证码图片

目标网站页面大概如下:
在这里插入图片描述

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',
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值