注册 登录
编程论坛 Python论坛

网站使用了Kaptcha来生成验证码,如何即时识别呢?下载验证码进行识别时总是找不到正确的url

广水一中肖聪 发布于 2023-06-25 10:56, 715 次点击
如题,我用用以下代码测试后报错,主要是找不到验证码的url。
import requests
from bs4 import BeautifulSoup
from PIL import Image
import ddddocr

url = "http://58.49.47.121:81/n_score/index.jsp"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'lxml')
captcha_img_tag=soup.find(id="img_randCode")
captcha_img_url=captcha_img_tag["src"]

#下载验证码图片
r = requests.get(captcha_img_url)
with open("yzm.png",'rb') as f:
    f.write(r.content)

#识别验证码上文字
ocr=ddddocr.DdddOcr()
with open("yzm.png",'rb') as f:
    image=f.read()
res=ocr.classification(image)
print(res)

虽然这个验证码的url是http://58.49.47.121:81/n_score/Kaptcha.do,但是如果直接从这个网站上下载进行识别,能否匹配http://58.49.47.121:81/n_score/index.jsp网站上的信息呢?
10 回复
#2
sheeboard2023-06-25 11:45
我是用selenium,定位验证码后截屏。

[此贴子已经被作者于2023-6-25 13:49编辑过]

#3
厨师王德榜2023-06-25 15:55
你是试图找验证码的图片链接,楼上是定位到屏上的位置后,直接截屏,感觉楼上的思路不错.
你不妨试试selenium库,
#4
广水一中肖聪2023-06-25 17:03
回复 2楼 sheeboard
感谢感谢,待我去研究研究
#5
sheeboard2023-06-25 18:26
回复 4楼 广水一中肖聪
参考
程序代码:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium. import By

url = "http://58.49.47.121:81/n_score/index.jsp"
s=Service(executable_path='geckodriver')
driver=webdriver.Firefox(service=s)
driver.get(url)
img=driver.find_element(By.CLASS_NAME,'imgyzm')
img.screenshot('yzm.png')







[此贴子已经被作者于2023-6-25 19:57编辑过]

#6
广水一中肖聪2023-06-27 09:19
回复 5楼 sheeboard
这个只需要安装selenium库就行了吗?
我安装了selenium库后,提示我找不到webdriver。
错误提示如下:
cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import)
#7
sheeboard2023-06-27 09:23
回复 6楼 广水一中肖聪
需要下载浏览器驱动,要对应浏览器版本。
#8
广水一中肖聪2023-06-27 10:43
回复 7楼 sheeboard
非常感谢你的耐心指导!!
我使用的是Chrome浏览器,版本是 114.0.5735.199(正式版本) (64 位)
下载对应的驱动,具体是指啥?
#9
广水一中肖聪2023-06-27 10:45
回复 7楼 sheeboard
是把from selenium.webdriver.firefox.service import Service
改成from selenium.webdriver.chrome.service import Service吗?
#10
sheeboard2023-06-27 13:27
http://chromedriver.storage.
下114.0.5735.90试试看
#11
广水一中肖聪2023-06-28 09:52
回复 10楼 sheeboard
没有win64的版本怎么办?
1