Excel教程Excel函数Excel表格制作Excel2010电子表格Excel实用技巧

优采云 发布时间: 2021-06-24 23:20

  Excel教程Excel函数Excel表格制作Excel2010电子表格Excel实用技巧

  组织一些最近的项目。总结几个用到的知识点和代码的关键部分,供大家学习交流。

  1、crawler 抓取网页内容信息。可以通过System.Net.WebRequest、webclient等类来处理

  2、对于一些动态网页,链接信息是由javascript动态生成的。也可以分析传值方式,把参数带入帖子中(大部分网站参数被统治)。如果还是不行,还可以使用webbrowser控件模拟点击。或者按值传递。

  以网站 为例。

  部分代码如下:

  //使用网页浏览器访问指定网页。地址是网址

  private void Navigate(WebBrowser web,String address)

  {

  if (String.IsNullOrEmpty(address)) return;

  if (address.Equals("about:blank")) return;

  if (!address.StartsWith("http://")) address = "http://" + address;

  试试

  {

  web.Navigate(new Uri(address));

  }

  catch (System.UriFormatException)

  {

  返回;

  }

  }

  因为要抓取网页内容,加载后提交参数,所以需要验证加载完成,即DocumentCompleted。在实际使用过程中,发现一个页面的加载过程中可能有多个DocumentCompleted,所以这里使用+1、-1方法来判断是否加载完成。

  首先在formload中绑定网页加载完成事件。

   private void getCode3webBrowser_Load(object sender, EventArgs e)

{

string address = "http://www.aslan.com.cn/Code.aspx";

this.Navigate(webBrowser1, address);

webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated);

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);

}

  并定义标记计数

   int count = 0;

  然后在每次导航后给标记+1

  private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)

{

count++;

}

  在每个 DocumentCompleted 中,都给出了 count-1。最后,当count=0时,表示页面加载完毕。可以进行页面信息处理等操作。

<p> <p>    private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

        {

            count = count - 1;

            string eventTarget = "dg_Code$ctl24$ctl";

           

            if (0 == count && isComplete == false && j

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线