php多线程抓取多个网页(用ControlInvoke,应为)
优采云 发布时间: 2022-02-05 11:17php多线程抓取多个网页(用ControlInvoke,应为)
多线程爬取遇到了非常复杂的问题。
我在 .net 2005 中编写了一个控制台程序,用于在多个线程中抓取网页内容,但使用
WebBrowser webb = new WebBrowser();
webb.Navigate("about:blank");
HtmlDocument htmldoc = webb.Document.OpenNew(true);
htmldoc.Write(strWeb);
return htmldoc.GetElementsByTagName("TR");
分析网页内容时始终报告
“无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”,因为当前线程不在单线程单元中。”
错误!
我添加了 startSnatch.SetApartmentState(ApartmentState.STA);到每个线程;
但还是无济于事。
希望得到各位高手的帮助!谢谢!
--------解决方案--------
委托用于跨线程操作控件,请搜索相关资料
--------解决方案--------
控制调用
--------解决方案--------
使用Control.Invoke,你应该在自己的工作线程中调用UI线程中的对象