问题同上,怎样提取网页中的数据,如title等标记中的数据,请高手帮助!
解决方案 »
- DevExpress.XtraEditors.TextEdit问题
- winform图形
- 请教高手们一个问题
- 请问一个控件调用问题,感激不尽
- 我给RICHTEXTBOX定义了一个CONTEXTMENU,我想弹出菜单时在此菜单的鼠标是箭头,当进入RICHTEXTBOX时是‘工’字型?
- 如何将HTML转换为可储存的格式(储存在备注字段)?需要如何转换?例如将"……"转换为"……",将"—"转换为"—"?
- c#程序最多可使用多大的内存?
- vs2010有关winform和vsto的引用
- 在引用using System.Management;时提示Management类不存在,怎么办?
- 求告知ListView怎么用的?为什么列名看不到?
- 求JavaScript的在线教程
- 问题:{"Update 无法找到 TableMapping['ds'] 或 DataTable“ds”。"} System.Exception {System.InvalidOperationExce
using System.Net;
using System.Text;
using System.Text.RegularExpressions;class Program
{
// 获取网页的HTML内容,根据网页的charset自动判断Encoding
static string GetHtml(string url)
{
return GetHtml(url, null);
} // 获取网页的HTML内容,指定Encoding
static string GetHtml(string url, Encoding encoding)
{
byte[] buf = new WebClient().DownloadData(url);
if (encoding != null) return encoding.GetString(buf);
string html = Encoding.UTF8.GetString(buf);
encoding = GetEncoding(html);
if (encoding == null || encoding == Encoding.UTF8) return html;
return encoding.GetString(buf);
} // 根据网页的HTML内容提取网页的Encoding
static Encoding GetEncoding(string html)
{
string pattern = @"(?i)\bcharset=(?<charset>[-a-zA-Z_0-9]+)";
string charset = Regex.Match(html, pattern).Groups["charset"].Value;
try { return Encoding.GetEncoding(charset); }
catch (ArgumentException) { return null; }
} // 根据网页的HTML内容提取网页的Title
static string GetTitle(string html)
{
string pattern = @"(?si)<title(?:\s+(?:""[^""]*""|'[^']*'|[^""'>])*)?>(?<title>.*?)</title>";
return Regex.Match(html, pattern).Groups["title"].Value.Trim();
} // 打印网页的Encoding和Title
static void PrintEncodingAndTitle(string url)
{
string html = GetHtml(url);
Console.WriteLine("[{0}] [{1}]", GetEncoding(html), GetTitle(html));
} // 程序入口
static void Main()
{
PrintEncodingAndTitle("http://www.msdn.net/");
PrintEncodingAndTitle("http://www.cnblogs.com/");
PrintEncodingAndTitle("http://www.cnblogs.com/skyiv/");
PrintEncodingAndTitle("http://www.csdn.net/");
PrintEncodingAndTitle("http://news.163.com/");
}
}
/**//* 程序输出:
[] [MSDN: Microsoft Developer Network]
[System.Text.UTF8Encoding] [博客园 - 程序员的网上家园]
[System.Text.UTF8Encoding] [空间/IV - 博客园]
[System.Text.UTF8Encoding] [CSDN.NET - 中国最大的IT技术社区,为IT专业技术人员提供最全面的信息传播和服务平台]
[System.Text.DBCSCodePageEncoding] [新闻中心_网易新闻]
*/
http://heshengxin.ys168.com/疯狂≮程序员≯群:3733191
软件交流群:9951116
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;class Test
{
// 获取网页的HTML内容
static string GetPage(string url)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
try
{
using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
{
using (StreamReader sr = new StreamReader(res.GetResponseStream()))
{
return sr.ReadToEnd();
}
}
}
catch (System.Exception e)
{
return e.Message;
}
finally
{
req.Abort();
}
} // 通过外部网站得到本机的外部IP
static string GetOuterIP()
{
string patt = @"IP: \[(?<IP>[0-9\.]*)\]";
string url = "http://www.skyiv.com/info";
return Regex.Match(GetPage(url), patt).Groups["IP"].Value;
} static void Main()
{
Console.WriteLine("Inner IP:");
foreach (IPAddress ip in Dns.Resolve(Dns.GetHostName()).AddressList)
{
Console.WriteLine(ip);
}
Console.WriteLine();
Console.WriteLine("Outer IP:");
Console.WriteLine(GetOuterIP());
}
}
/* 程序输出:
Inner IP:
10.0.0.1Outer IP:
123.173.**.86
*/
webB.Navigate("http://www.google.com");//webB是浏览器控件
HtmlElementCollection elems=webB.Document.GetElementsByTagName("title");
后面不会写了 怎样把 <title> </title>中的数据显示出来呢 ?
http://www.cnblogs.com/anjou/archive/2006/12/25/602943.html