ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] vba采集网页运行时错误 '-2147024891 (80070005)':拒绝访问

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-10-6 10:41 | 显示全部楼层 |阅读模式
自己写了个程序,主要是采集网页上面数据进行分析,程序运行大概20~30行的时候出错,运行时错误 '-2147024891 (80070005)':拒绝访问





TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-6 10:42 | 显示全部楼层
Dim check_bool, cutdate


Sub check()
Worksheets(1).[d2:d65535] = ""
Worksheets(1).[e2:e65535] = ""
Worksheets(2).[a2:a65535] = ""
Worksheets(3).[a2:a65535] = ""
Worksheets(4).[a2:a65535] = ""

For i = 2 To Range("C65536").End(xlUp).Row

  If i Mod 25 = 1 Then
    waitTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 10)
    Application.Wait waitTime
  End If

  If Sheets(1).Cells(i, 2).Value = "" Then
  GoTo x:
  End If
  If Sheets(1).Cells(i, 3).Value = "" Then
  GoTo x:
  End If
stra = Sheets(1).Cells(i, 3).Value
stra = Replace(stra, "http://", "")
stra = Replace(stra, " ", "")
stra = "http://" + stra
strb = Sheets(1).Cells(i, 2).Value
strb = Replace(strb, " ", "")

Call test(stra, strb)


If check_bool = 1 Then
    Sheets(1).Cells(i, 4) = "存在"
    Sheets(1).Cells(i, 5) = cutdate
    u = Worksheets(3).[a65536].End(xlUp).Row + 1
    Sheets(3).Cells(u, 1) = Sheets(1).Cells(i, 1).Value
Else
    If check_bool = -1 Then
        Sheets(1).Cells(i, 4) = "锁定"
        Sheets(1).Cells(i, 5) = cutdate
        u = Worksheets(4).[a65536].End(xlUp).Row + 1
        Sheets(4).Cells(u, 1) = Sheets(1).Cells(i, 1).Value
    Else
        Sheets(1).Cells(i, 4) = "不存在"
        Sheets(1).Cells(i, 5) = cutdate
        u = Worksheets(2).[a65536].End(xlUp).Row + 1
        Sheets(2).Cells(u, 1) = Sheets(1).Cells(i, 1).Value
    End If
End If
x:
Next
End Sub



Function test(WEBurl, mingzi)
    Dim strRespText$, tt$, i&, DW$
    tt = ""
    Dim url
    url = WEBurl
    Set obj = CreateObject("Msxml2.XMLHTTP.5.0")
   
    With obj
       obj.Open "GET", url, False
        obj.Send
        tt = obj.responsetext
        tt = BytesToBstr(obj.ResponseBody, "gb2312")
        If InStr(1, tt, mingzi) > 0 Then
           check_bool = 1
        Else
           If InStr(1, tt, "还需进一步完善") > 0 Then
           check_bool = 0
           Else
           check_bool = -1
           End If
        End If
        Call CutData(tt)
        obj.Close
        
    End With
End Function



Function BytesToBstr(strBody, CodeBase)
    Dim objStream
    On Error Resume Next
    Set objStream = CreateObject("Adodb.Stream")
    With objStream
        .Type = 1
        .Mode = 3
        .Open
        .Write strBody
        .Position = 0
        .Type = 2
        .Charset = CodeBase
        BytesToBstr = .ReadText
    End With
    objStream.Close
    Set objStream = Nothing
    If Err.Number <> 0 Then BytesToBstr = ""
    On Error GoTo 0
End Function



Function CutData(tt)
     bw = Split(tt, "<span id=""lastModifyTime"">")
     bw = Split(bw(1), "</span>")
     cutdate = bw(0)
End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-6 10:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
帮忙分析一下

TA的精华主题

TA的得分主题

发表于 2016-4-20 11:33 | 显示全部楼层
  下面这段代码以前运行正常,现在运行到 .Send 就出现   【   运行时错误 '-2147024891 (80070005)':拒绝访问  
  With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "http://917500.cn/data/cqssc_400.txt", False
        .Send
        s = Split(.responseText, Chr(10))
    End With

TA的精华主题

TA的得分主题

发表于 2020-8-12 01:17 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-11-23 10:22 | 显示全部楼层
同问啊!原来都是好好的,不知道是不是对方网络服务器设置的相关的保护机制,但是获取内容的网址代码放在浏览器里面可以正常打开。不知道是什么原因。有没有大神可以解释下

TA的精华主题

TA的得分主题

发表于 2022-5-26 09:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
嗯我也遇到了据说wps不行excel可以我去装个excel试试

TA的精华主题

TA的得分主题

发表于 2022-5-26 11:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-4-15 10:02 | 显示全部楼层
网址头http后加s,试一试。

TA的精华主题

TA的得分主题

发表于 2023-4-15 10:33 | 显示全部楼层
用 CreateObject("MSXML2.ServerXMLHTTP")
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-30 06:20 , Processed in 0.035730 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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