日期:2014-05-18  浏览次数:20470 次

WebBrowser控件,网站页面数据抓取问题
using System.Windows.Forms;
using System.Data;
using mshtml;


//指向指定页面
string url = "http://www.sdb.com.cn/sdbsite/jjjz/jjjz.do";
object nullObject = null;
this.webBrowser1.Navigate(url,ref nullObject,ref nullObject,ref nullObject,ref nullObject);

//页面加载好之后,执行下面的代码
//获取对像
mshtml.HTMLDocumentClass doc = webBrowser1.Document as mshtml.HTMLDocumentClass;//这段代码好难办
mshtml.IHTMLElementCollection objs = (mshtml.IHTMLElementCollection)doc.getElementsByTagName("table");
........

通过objs对像来获得网站的数据。结果在单机运行后是抓到了。
可是通过跟踪发现:
mshtml.HTMLDocumentClass doc = webBrowser1.Document as mshtml.HTMLDocumentClass;
以上这段代码远程部署在服务器上不能运行。“卡”在那里,像死了一样。
在各个同事的单机上都是好好的。
现在的问题可能是:
1:远程部署的方法或权限不够(部署用的是admin权限,应该不会)
2:服务器的环境有部题(服务器已有.net环境)
3:其它不知明原因。

请大家帮忙分析一下,好吗?有些急!

------解决方案--------------------
用c# 结合webbrowser 和 httpwebrequest应该好解决的 !