设为首页 | 加入收藏  
软件定制开发
  网站首页 关于我们 新闻中心 产品介绍 解决方案 成功案例 服务支持 联系我们
首页 > 行业动态
 
【软件项目中抓取其他网站源码】
来源:www.sywebsoft.com 发布者:领航科技  发布时间:2019-05-23 
 一些项目中可能要抓取其他网站的源码,然后进行分析处理

为了简单方便,这里使用WebBrowser来玩一把,使用WebBrowser我们要注意以下几点:

第一:因为WebBrowser在System.Windows.Forms 中,属于winform控件,所以我们要设置STAThread标记。

第二:winform是事件驱动的,而Console并不会去响事件,所有事件在windows的消息队列中等待执行,为了不让程序假死,

         我们需要调用DoEvents方法转让控制权,让操作系统执行其他的事件。

第三:WebBrowser中的内容,我们需要用DomDocument来查看,而不是DocumentText。

这里当时考虑 转化成XML  直接通过XLINQ读取XML数据,但感觉这样做风险很大。 万一页面代码不规范,转化成XML很容易就exception了

 

所以考虑  直接用一个<tr></tr>做为一个整体保存下来;

然后通过htppHandler URL转向。  OK 

/要抓取数据的页面路径
        string url = "https://www.sywebsoft.com/";
       //将页面上的数据转换为HTML
        string html = Method.GetHtmlData(url);
        //   txt_content.Text = html;
        //找到需要的数据匹配正则  (?<name>.+?) 
        string regex = @"<font size=""2"">(?<name>.+?)</td>";
        Regex listRegex = new Regex(regex, RegexOptions.Multiline | RegexOptions.IgnoreCase);
        //得到匹配的数据集合
        MatchCollection mc = listRegex.Matches(html);
        JCheng.Model.School Model = new JCheng.Model.School();
        //将得到的字符串分割存进数组
        string[] str = txt_content.Text.Substring(0, txt_content.Text.Length - 1).Replace("<br />", "").Split(,);
        //数据每六个为一个model类 ,如下循环添加入库。
        for (int i = 0; i < str.Length - 1; )
        {
            Model.sName = str[i];
            Model.sAddress = str[i + 1];
            Model.sPostCode = str[i + 2];
            Model.sPhone = str[i + 3];
            Model.sEmail = str[i + 4];
            Model.sClass = str[i + 5];
            new JCheng.BLL.School().Add(Model);
            i += 6;
        }

下一篇:如何正确的停止Java进程
 
推荐文章

DDoS服务器高防服务 [2019-05-22]
会议管理系统 [2019-05-22]
如何正确的停止Java进程 [2019-05-22]
软件开发之合同会签管理系统 [2019-05-21]
NET(C#)使用SQLite的基本方式 [2019-05-21]
SQLite数据库你用过吗? [2019-05-21]
 
沈阳软件开发
沈阳软件定制开发
沈阳软件公司
沈阳软件开发公司
首页
关于我们
新闻中心
产品介绍
解决方案
成功案例
服务支持
联系我们
关于领航
 
公司地址:沈阳市沈河区北站路77-1号光达大厦C座13层
邮政编码:110013
客服电话:13840539193 024-31281857
Email:2579047692@qq.com
客服Q Q:2579047692
官方微信
 
Copyright @ 2005-2019 sywebsoft.com All Right Reserved
展开