InBlock.gif using System;        
InBlock.gif using System.Collections.Generic;        
InBlock.gif using System.ComponentModel;        
InBlock.gif using System.Data;        
InBlock.gif using System.Drawing;        
InBlock.gif using System.Linq;        
InBlock.gif using System.Text;        
InBlock.gif using System.Windows.Forms;        
InBlock.gif using Winista.Text.HtmlParser;        
InBlock.gif using Winista.Text.HtmlParser.Lex;        
InBlock.gif using Winista.Text.HtmlParser.Nodes;        
InBlock.gif using Winista.Text.HtmlParser.Util;        
InBlock.gif using Winista.Text.HtmlParser.Visitors;        
InBlock.gif using Winista.Text.HtmlParser.Filters;        
InBlock.gif using Winista.Text.HtmlParser.Tags;        
InBlock.gif using Winista.Text.HtmlParser.Http;        
InBlock.gif using System.Threading;        
InBlock.gif using System.IO;        
InBlock.gif using System.Net;        
InBlock.gif namespace parsertitle        
InBlock.gif{        
InBlock.gif         public partial class Form1 : Form        
InBlock.gif        {        
InBlock.gif                 public Form1()        
InBlock.gif                {        
InBlock.gif                        InitializeComponent();        
InBlock.gif                }        
InBlock.gif                 /// <summary>        
InBlock.gif                 /// 该软件的功能实现你在Textbox1里输入一个网址,Textbox2里会返回该网页的标题        
InBlock.gif                 /// 有点慢,您需要耐心等待        
InBlock.gif                 /// </summary>        
InBlock.gif                 /// <param name="sender"></param>        
InBlock.gif                 /// <param name="e"></param>        
InBlock.gif                 private void button1_Click( object sender, EventArgs e)        
InBlock.gif                {        
InBlock.gif                        downhtml_1(textBox1 .Text );        
InBlock.gif                     textBox2 .Text = tohtml(htmlText );        
InBlock.gif                }        
InBlock.gif                 string htmlText = "";        
InBlock.gif                 private string downhtml_1( string WebUrl) //抓取网页源代码方法一        
InBlock.gif                {        
InBlock.gif                            
InBlock.gif    
InBlock.gif                         try    
InBlock.gif                        {        
InBlock.gif    
InBlock.gif                                WebClient myWebClient = new WebClient();        
InBlock.gif                                myWebClient.Encoding = System.Text.Encoding.Default; //获取和设置用于上载和下载字符串的encoding,默认值是default        
InBlock.gif                                 //myWebClient.Encoding = System.Text.Encoding.Default;        
InBlock.gif    
InBlock.gif                                htmlText = myWebClient.DownloadString(WebUrl); //将下载的资源付给字符串        
InBlock.gif    
InBlock.gif                        }        
InBlock.gif                         catch (Exception ex)        
InBlock.gif                        {        
InBlock.gif                                MessageBox.Show(ex.Message);        
InBlock.gif                        }        
InBlock.gif                         if (htmlText.Trim() == "")        
InBlock.gif                                htmlText = "失败!";        
InBlock.gif                         return htmlText;        
InBlock.gif                }        
InBlock.gif                 private string tohtml( string str)        
InBlock.gif                {        
InBlock.gif                         string strParser = "";        
InBlock.gif                        Lexer lexer1 = new Lexer(str );        
InBlock.gif                        Parser parser1 = new Parser(lexer1);        
InBlock.gif                         //Creates a TagNameFilter that accepts tags with the given name.        
InBlock.gif                        NodeFilter filter_title1 = new TagNameFilter( "TITLE"); //TagNameFilter是NodeFilter的子类,用子类初始化NodeFilter对象        
InBlock.gif    
InBlock.gif                         //NodeList nodelistoftitle = parser1.Parse(filter_title1);//Parse方法将返回HTML文档包含的字符        
InBlock.gif                        NodeList nodelistoftitle = parser1.ExtractAllNodesThatMatch(filter_title1); //此方法能实现同上的功能        
InBlock.gif                         //int i = nodelistoftitle.Count;        
InBlock.gif                        INode node_title1 = nodelistoftitle.ElementAt(0);        
InBlock.gif                         string title1 = "";        
InBlock.gif                         if (node_title1 != null)        
InBlock.gif                        {        
InBlock.gif                                title1 = node_title1.ToHtml(); //Return the HTML for this node.        
InBlock.gif    
InBlock.gif                        }        
InBlock.gif                         else return "";        
InBlock.gif    
InBlock.gif                        Lexer lexer2 = new Lexer(title1);        
InBlock.gif                        Parser parser_title1 = new Parser(lexer2);        
InBlock.gif                        TextExtractingVisitor title_visitor1 = new TextExtractingVisitor();        
InBlock.gif                        parser_title1.VisitAllNodesWith(title_visitor1); //遍历所有节点,提取纯文本;相当于游客进去转了一圈,他手里就得到了全部的信息        
InBlock.gif                        strParser = title_visitor1.ExtractedText.ToString(); //提取出所有的纯文本信息        
InBlock.gif                         return strParser;        
InBlock.gif    
InBlock.gif                }        
InBlock.gif    
InBlock.gif                 private void Form1_Load( object sender, EventArgs e)        
InBlock.gif                {        
InBlock.gif                        textBox1.Text = "http://www.sina.com";        
InBlock.gif                }        
InBlock.gif        }        
InBlock.gif}    
InBlock.gif
InBlock.gif