前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点一个Python网络爬虫过验证码的问题(方法三)

盘点一个Python网络爬虫过验证码的问题(方法三)

作者头像
Python进阶者
发布2023-08-31 08:36:10
2870
发布2023-08-31 08:36:10
举报
文章被收录于专栏:Python爬虫与数据挖掘

一、前言

前几天在Python最强王者群【鶏啊鶏。】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。

上两个篇文章已经给了两个解决方法,第一个方法是直接请求图片的url,然后进行识别,效率也非常高;第二个方法是,直接定位到图片这个,然后完成截图,再进行识别。在这一篇文章,我们一起来看看第三个解决方法。

二、实现过程

这个方法是【魏哥】提供的,使用了第三方代码平台,名为【超级鹰】,相信很多小伙伴们也听说过,这里给大家分享下。

思路其实和第二种方法差不多,也是先定位到验证码图片,之后使用打码平台进行识别,之后返回验证码,然后输入账号、密码即可完成登录的操作,代码如下:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from PIL import Image
import ddddocr
from chaojiying import Chaojiying_Client

ocr = ddddocr.DdddOcr()

options = webdriver.ChromeOptions()
options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)

# 打开目标网页
driver.get('https://sol.sinosure.com.cn')
time.sleep(3)

# 处理验证码
img = driver.find_element(By.XPATH, '//*[@id="codeimage"]').screenshot_as_png
chaojiying = Chaojiying_Client('666', '666', '923043')
print(chaojiying.PostPic(img, 1902))  # 得到的是一个字典的返回结果
dic = chaojiying.PostPic(img, 1902)
verify_code = dic["pic_str"]
print(verify_code)

代码运行之后,也是可以顺利得到验证码的。针对该验证码的问题,目前已经给出了三个方法,如果你还有其他解决方法,欢迎分享!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python网络爬虫过验证码的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

往期精彩文章推荐:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、实现过程
  • 三、总结
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档