以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]超出系统资源如何解决(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159787) |
-- 作者:yyzlxc -- 发布时间:2021/1/8 17:35:00 -- [求助]超出系统资源如何解决(已解决) 从网页获取股票代码的行业和概念数据,读取50行数据以内就出现“超出系统资源”的提示,并退出程序,问题出在哪里,如何解决,请各位老师指教,谢谢! If Forms("窗口1").Opened Then Dim dm1 As String Dim ms As Integer = Forms("窗口1").Controls("TextBox2").Text \'码数 Dim i As Integer For i = 1 To ms dm1 = Tables("代码").Current("代码") Dim web As New System.Windows.Forms.WebBrowser() web.ScriptErrorsSuppressed = True Dim dr As DataRow = DataTables("代码").Find("代码 = \'" & dm1 & "\'") If dr IsNot Nothing Then If dr.IsNull("代码") = False And dr.IsNull("行业") Then web.Navigate("https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpOtherInfo/stockid/" & dr("代码") & "/menu_num/2.phtml") \'新浪网 Do Until web.ReadyState = 4 Application.DoEvents Loop Dim hy As String = "" Dim tb1 As object = web.Document.GetElementsByTagName("table")(3) Dim trs1 = tb1.GetElementsByTagName("tr") Dim tds1 As object = trs1(2).GetElementsByTagName("td") hy = tds1(0).innerText If hy = "" Then hy = "无" End If Dim gn As String = "" Dim tb2 As object = web.Document.GetElementsByTagName("table")(4) Dim trs2 = tb2.GetElementsByTagName("tr") For i2 As Integer = 1 To trs2.count-1 Dim tds2 As object = trs2(i2).GetElementsByTagName("td") If tds2.count > 0 If gn = "" Then gn = tds2(0).innerText Else gn = gn & "," & tds2(0).innerText End If End If Next If gn = "对不起,暂时没有相关概念板块信息" Then gn = "无" End If dr("行业") = hy dr("概念") = gn GC.Collect() End If End If DataTables("代码").Save() Forms("窗口1").Controls("TextBox3").Text = dm1 With Tables("代码") .Position = .Position + 1 End With Next Forms("窗口1").Controls("TextBox1").Text = Forms("窗口1").Controls("TextBox3").Text End If [此贴子已经被作者于2021/1/10 17:29:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/8 17:41:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错。内存占用是多少 新建一个项目单独测试有没有问题?
|
-- 作者:yyzlxc -- 发布时间:2021/1/9 10:45:00 -- 谢谢有点蓝老师的指教,做了一个案例,请老师帮助看一下,谢谢了!! |
-- 作者:有点蓝 -- 发布时间:2021/1/9 10:57:00 -- 请自行调试那一句代码出错,我这里不提供网页抓数据的技术支持 |
-- 作者:yyzlxc -- 发布时间:2021/1/10 17:28:00 -- 增加一条代码,释放内存,问题解决。谢谢蓝老师!! If gn = "对不起,暂时没有相关概念板块信息" Then gn = "无" End If dr("行业") = hy dr("概念") = gn web.Dispose() GC.Collect() [此贴子已经被作者于2021/1/10 17:30:21编辑过]
|