Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13964|回复: 7

[已解决]如何获取网页的全部源文件代码

[复制链接]
发表于 2014-6-15 10:20 | 显示全部楼层 |阅读模式
通过这段代码进行获取网页的源代码:
Sub test_tb()    With CreateObject("Microsoft.XMLHTTP")
        .Open "get", 获取网页的网址, True
        .Send
        Do While Not .ReadyState = 4
            DoEvents
        Loop
        Debug.Print .responseText
    End With
End Sub

发现不能获取全部的网页源代码,中间的变成如下的样子,怎么回事呢?
<!doctype html>
<html>
<head>
<meta charset="utf-8" />以这个开头的一大部分源代码都不显示


最佳答案
2014-6-15 10:41
  1.     Dim strText$
  2.     Dim httpRequest As Object
  3.     Dim myClip As Object
  4.     '剪贴板对象
  5.     Set myClip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  6.     Set httpRequest = CreateObject("Msxml2.XMLHTTP.3.0")
  7.     With httpRequest
  8.         .Open "GET", 网址, False
  9.         .send
  10.         strText = .responseText
  11.     End With
  12.     With myClip
  13.         '网页原始数据放入剪贴板中
  14.         .SetText strText    '变量
  15.         .PutInClipboard
  16.         MsgBox "源代码已经复制到剪贴板中"
  17.     End With
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-6-15 10:41 | 显示全部楼层    本楼为最佳答案   
  1.     Dim strText$
  2.     Dim httpRequest As Object
  3.     Dim myClip As Object
  4.     '剪贴板对象
  5.     Set myClip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  6.     Set httpRequest = CreateObject("Msxml2.XMLHTTP.3.0")
  7.     With httpRequest
  8.         .Open "GET", 网址, False
  9.         .send
  10.         strText = .responseText
  11.     End With
  12.     With myClip
  13.         '网页原始数据放入剪贴板中
  14.         .SetText strText    '变量
  15.         .PutInClipboard
  16.         MsgBox "源代码已经复制到剪贴板中"
  17.     End With
复制代码

评分

参与人数 1 +16 收起 理由
老糊涂 + 16 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-6-15 10:41 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-6-15 13:05 | 显示全部楼层
hwc2ycy 发表于 2014-6-15 10:41

为什么要放入剪贴板中呢
回复

使用道具 举报

发表于 2014-6-15 20:13 | 显示全部楼层
我不知道呀 发表于 2014-6-15 13:05
为什么要放入剪贴板中呢

你粘贴到记事本或WORD中再看源文件就成了。


回复

使用道具 举报

 楼主| 发表于 2014-6-15 20:36 | 显示全部楼层
hwc2ycy 发表于 2014-6-15 20:13
你粘贴到记事本或WORD中再看源文件就成了。

现在测试不了那个网址,明天遇到问题再向您提问,谢谢你
回复

使用道具 举报

 楼主| 发表于 2014-6-16 19:57 | 显示全部楼层
本帖最后由 我不知道呀 于 2014-6-16 20:08 编辑
hwc2ycy 发表于 2014-6-15 10:41

今天测试终于成功了,把获取的源代码写入TXT就获取全能全部网页源代码,但还是不知其中原因,为什么非要在TXT中转一下,才能全部显示?
Sub VB()
With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", 网址, False
    .send
    Open "c:\data.txt" For Output As #1
    Print #1, , .responseText
    Close #1
  End With
    Open "C:\data.txt" For Input As #1
Do While Not EOF(1)
    Line Input #1, aa
    astr = astr & aa
Loop
    Close #1
End Sub

回复

使用道具 举报

发表于 2014-6-17 08:28 | 显示全部楼层
我不知道呀 发表于 2014-6-16 19:57
今天测试终于成功了,把获取的源代码写入TXT就获取全能全部网页源代码,但还是不知其中原因,为什么非要在 ...

如果你想在立即窗口输出或者通过消息框输出,肯定是没有显示完整的,只有通过写入文件或复制到粘贴板才有效。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 09:30 , Processed in 0.321259 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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