有什么办法可以解决这个问题?

z1224891000 2010-10-31 01:29:39
除了用 WEBBROWSER外,用INET 等其它方法获取了网页源码时会软件会卡住一会儿。

我有个LISTBOX,里边有很多网址,想通过循环来了取回每个网址的源码进行分析,但是每获取一个网址的源码是软件都会卡一会儿,即使我有循环里用了 DOEVENTS,也是一样。


有什么办法可以解决这个问题?
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
z1224891000 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cbm666 的回复:]

试看我这个代码吧 够快了

Dim StartTm&
Private Sub Form_Load()
RichTextBox1.Text = GetHtmlStr("http://tieba.baidu.com/")
End Sub

Public Function GetHtmlStr(StrUrl$) As String
Dim XmlHttp
S……
[/Quote]
我试试先
z1224891000 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 aitstudio 的回复:]

获取到的源码是读入内存,还是直接写到某个text控件里?
建议用另外的一个form来专门读取网页码源,成功以后再赋值传送到当前listbox所在的form进行处理。
[/Quote]

谢谢,是把源码读取到另外一个FORM2里并显示出来,再由FORM1(LISTBOX所在的FORM)来提取源码里的相关信息吗?

这样子可以防止卡死吗?
AitStudio 2010-10-31
  • 打赏
  • 举报
回复
获取到的源码是读入内存,还是直接写到某个text控件里?
建议用另外的一个form来专门读取网页码源,成功以后再赋值传送到当前listbox所在的form进行处理。
cbm6666 2010-10-31
  • 打赏
  • 举报
回复
试看我这个代码吧 够快了

Dim StartTm&
Private Sub Form_Load()
RichTextBox1.Text = GetHtmlStr("http://tieba.baidu.com/")
End Sub

Public Function GetHtmlStr(StrUrl$) As String
Dim XmlHttp
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", StrUrl, True
XmlHttp.send
StartTm = Timer
While XmlHttp.ReadyState <> 4
DoEvents
If Timer - StartTm > 3 Then GetHtmlStr = "": Set XmlHttp = Nothing: Exit Function '判断超出3秒即超时退出过程
Wend
GetHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
Set XmlHttp = Nothing
End Function

z1224891000 2010-10-31
  • 打赏
  • 举报
回复
INET取回来网页源码不就是都是文字吗?
Kill2010 2010-10-31
  • 打赏
  • 举报
回复
只传文字,不传其它内容就快了

[Quote=引用 2 楼 z1224891000 的回复:]
有的人为什么做的网页分析软件速度很快呢?比如邮件搜索软件,他们不也是用这种办法吗?
[/Quote]
z1224891000 2010-10-31
  • 打赏
  • 举报
回复
有的人为什么做的网页分析软件速度很快呢?比如邮件搜索软件,他们不也是用这种办法吗?
Kill2010 2010-10-31
  • 打赏
  • 举报
回复
花钱提高你的网络速度

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧