ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10400|回复: 17

[求助] vba 验证码识别问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-3 01:24 | 显示全部楼层 |阅读模式
本帖最后由 cnzm 于 2012-12-4 18:52 编辑

查了各种各样的资料始终不能解决这个问题,有没有办法把验证码先另存到本地再来识别呢?



详见附件
验证码问题.rar (47.15 KB, 下载次数: 192)

TA的精华主题

TA的得分主题

发表于 2012-12-3 01:32 | 显示全部楼层
本帖最后由 liucqa 于 2012-12-3 01:38 编辑

不要用IE,用xmlhttp做就可以先下载后识别了

另外,你的那个DLL是识别准确率是多少呀?

untitled.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 09:58 | 显示全部楼层
那个dll 识别率99% 是人工打码的

下面是调用的dll

调用的DLL.rar

79.49 KB, 下载次数: 330

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 16:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
改成这种方式 下载图片也不行哦
  1. Sub 下载图片()
  2.     Dim nUrl As String, localFilename As String
  3.     Dim XmlHttp As Object, ayrHttpBody() As Byte

  4.     nUrl = "http://shcainfo.miitbeian.gov.cn/captcha.jpg"
  5.    ' localFilename = ThisWorkbook.Path & Application.PathSeparator & "myimg.gif"


  6.     Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
  7.     XmlHttp.Open "GET", nUrl, True       '异步下载
  8.     XmlHttp.send

  9.     Do Until XmlHttp.readyState = 4
  10.         DoEvents
  11.     Loop
  12.    
  13.     Dim nPicture As Picture

  14.     Set nPicture = LoadNetPicture(tbxURL.Value)
  15.    
  16.     If XmlHttp.Status = 200 Then
  17.         ayrHttpBody() = XmlHttp.responseBody
  18.         Open "C:\test.bmp" For Binary As #1
  19.         Put #1, , ayrHttpBody()
  20.         Close #1
  21.         MsgBox "成功"
  22.         UserForm1.Image1.Picture = LoadPicture("C:\test.bmp")
  23.     Else
  24.         MsgBox "失败"
  25.     End If
  26.     Set XmlHttp = Nothing
  27. End Sub
复制代码
之前是用这种方式下载图片
  1. Private Sub Pic()
  2. Dim nPicture As Picture

  3.     Set nPicture = LoadNetPicture(tbxURL.Value)                                              '将图片下载到对象
  4.     If Not nPicture Is Nothing Then
  5.         SavePicture nPicture, "C:\test.bmp"    '保存到硬盘
  6.         UserForm1.Image1.Picture = nPicture
  7.     Else
  8.         UserForm1.tbxURL.Value = "链接地址错误,不能获取图片"
  9.     End If
  10. End Sub
复制代码



TA的精华主题

TA的得分主题

发表于 2012-12-5 00:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TA的精华主题

TA的得分主题

发表于 2012-12-17 23:32 | 显示全部楼层
本帖最后由 引子玄 于 2012-12-18 01:25 编辑

Sub 图片IE提取()

With CreateObject("InternetExplorer.Application")
        .Visible = False
        .Navigate "http://img03.taobaocdn.com/bao/uploaded/i3/T165IBXfhbXXX_gKA0_035057.jpg_310x310.jpg"
        Do Until .ReadyState = 4
            DoEvents
        Loop
        
      a = .Document.All.tags("body")(0).outerhtml
     
      Call makelog(a, "C:\Documents and Settings\Administrator\桌面\本地COOKIE", "xls") '注意:红色部分是相对路径
      
         ActiveWorkbook.FollowHyperlink Address:= _
        "file:///C:/Documents%20and%20Settings/Administrator/桌面/本地COOKIE/log.xls", _
        NewWindow:=False, AddHistory:=True
    Windows("log.xls").Activate
    ActiveSheet.Shapes("Picture 1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("间接QT法.xls").Activate    '注意:兰色部分是相对名称,放本代码的工作簿命名
    Range("A1").Select
    ActiveSheet.Paste
    Windows("log.xls").Activate
    Application.WindowState = xlMinimized
    ActiveWindow.Close
        
  End With
  
End Sub
Private Sub makelog(inputed_string, log_path, filetype)
   Dim objFSO, logfile, logtext, log_folder
   Set objFSO = CreateObject("Scripting.FileSystemObject")
   On Error Resume Next
   Set log_folder = objFSO.CreateFolder(log_path)
   If objFSO.FileExists(log_path & "\log." & filetype) = 0 Then
       Set logfile = objFSO.CreateTextFile(log_path & "\log." & filetype, True, -1)
   End If
   Set log_folder = Nothing
   Set logfile = Nothing
   Set logtext = objFSO.OpenTextFile(log_path & "\log." & filetype, 2, True, -1)
   logtext.Write inputed_string
   logtext.Close
   Set objFSO = Nothing
End Sub


360软件小助手截图20121217233607.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-12-17 21:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一定要把这个问题解决了啊,识别,菜鸟开始啊

TA的精华主题

TA的得分主题

发表于 2012-12-17 22:15 | 显示全部楼层
cnzm 发表于 2012-12-4 16:36
改成这种方式 下载图片也不行哦
之前是用这种方式下载图片

http://shcainfo.miitbeian.gov.cn/captcha.jpg
URL本身就打不开,又如何提取图片呢?



TA的精华主题

TA的得分主题

发表于 2012-12-17 22:38 | 显示全部楼层
本帖最后由 引子玄 于 2012-12-17 22:39 编辑
引子玄 发表于 2012-12-17 22:15

URL本身就打不开,又如何提取图片呢?


俺甚至怀疑这个链条
http://shcainfo.miitbeian.gov.cn/captcha.jpg
是否有木马?

因为刚才在试图打开这个链条的时候,电脑一塌糊涂.只好重启

TA的精华主题

TA的得分主题

发表于 2012-12-17 22:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
引子玄 发表于 2012-12-17 22:38
俺甚至怀疑这个链条
http://shcainfo.miitbeian.gov.cn/captcha.jpg
是否有木马?

果然中了阴招!

360软件小助手截图20121217224515.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 16:59 , Processed in 0.044608 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表