最近想用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()方法获取其值也就是图片链接文章来源:https://www.toymoban.com/news/detail-440322.html
driver.find_element_by_xpath('//*[@id="J_Reviews"]/div/div[6]/table/tbody/tr[1]/ul/li[1]').get_attribute("src")
(2)接下来是图片的保存,我们可以使用如下代码把图片保存到本地文件中文章来源地址https://www.toymoban.com/news/detail-440322.html
import requests
# 复制图片地址
url1 = 'https://pic.qiushibaike.com/system/pictures/12468/124687700/medium/K6KDSRPLBG3BRKPK.jpg'
image = requests.get(url = url1).content
with open('./糗事百科图片.jpg',
到了这里,关于selenium+ocr 破解验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!