VB.net解析HTML 100次。它会起作用吗?

时间:2012-02-01 07:51:44

标签: vb.net parsing

Imports System.Web
Imports System.Net
Imports System.Net.ServicePointManager

Public Class GetSource

Function GetHtml(ByVal strPage As String) As String
tryAgain:
    ServicePointManager.UseNagleAlgorithm = True
    ServicePointManager.Expect100Continue = True
    ServicePointManager.CheckCertificateRevocationList = True
    ServicePointManager.DefaultConnectionLimit = 100
    Dim strReply As String = "NULL"
    Try
        Dim objhttprequest As System.Net.HttpWebRequest
        Dim objhttpresponse As System.Net.HttpWebResponse

        objhttprequest = System.Net.HttpWebRequest.Create(strPage)
        objhttprequest.Proxy = proxyObject
        objhttprequest.AllowAutoRedirect = True
        objhttprequest.Timeout = 100000
        objhttpresponse = objhttprequest.GetResponse
        Dim objstrmreader As New StreamReader(objhttpresponse.GetResponseStream)

        strReply = objstrmreader.ReadToEnd()

    Catch ex2 As System.Net.WebException

        GoTo tryAgain
    Catch ex As Exception
        strReply = "ERROR! " + ex.Message.ToString

        GoTo tryAgain

    End Try

    Return strReply

End Function

我在这里得到的是一个vb.net代码,我解析网站的html 这个功能很好。 问题是这个......

1.如果我同时使用此功能运行100个线程,它会工作吗? 这也不会影响我的网络连接吗?

我不想浪费时间创建线程和代码一百次,所以如果你知道答案,请告诉我应该怎么做

1 个答案:

答案 0 :(得分:0)

我认为可能导致问题的一件事就是goto。如果出现错误,则重试,但如果每次请求页面时都发生错误,则无法打破方法,从而导致无限循环。你应该办理入住手续,如果没有设置取消标志,只能再试一次。其次,您运行的线程数可能存在问题,具体取决于每个线程必须执行的工作量。每个线程都有一个CPU和内存成本,它可以固定你的机器,特别是如果你在其中一个线程中得到一个无限循环。其他一切都得到了“它取决于”。您的电脑和互联网连接将决定其他一切。有可用于监控此工具的工具,我建议使用它们来查看哪些有效。我发现此页面包含大量信息,它可能包含您要查找的内容 - http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html。希望这会有所帮助。

瓦德