这是我的代码:(我是通过url获得页面源文件然后获得title中间的内容)
public static string GetTitle(string url)
{
try
{
HttpWebRequest wrt = (HttpWebRequest)WebRequest.Create(url);
wrt.Timeout = 5000;
HttpWebResponse wrs = (HttpWebResponse)wrt.GetResponse();
Stream strm = wrs.GetResponseStream();
StreamReader sr = new StreamReader(strm, Encoding.Default);
string html = sr.ReadToEnd();
Regex re = new Regex("(?<=<title>).*(?=</title>)");
Match mc = re.Match(html);
string[] value = mc.Value.Split('-'); return value[0].Trim();
}
catch
{
throw new WebException();
}
}
这样确实是可以获取到页面的title值,但是不是所有的都能得到,现在就是纳闷在这,谁知道这是什么问题?是不是正则写的有问题?http://item.taobao.com/auction/item_detail-0db2-cd7a23d8ad661d353ab546507d964148.htm 可以获取到title值 http://store.taobao.com/shop/view_shop-ba90d1f498c3a776e3f92987dc75b3c5.htm 这个就获取不到
public static string GetTitle(string url)
{
try
{
HttpWebRequest wrt = (HttpWebRequest)WebRequest.Create(url);
wrt.Timeout = 5000;
HttpWebResponse wrs = (HttpWebResponse)wrt.GetResponse();
Stream strm = wrs.GetResponseStream();
StreamReader sr = new StreamReader(strm, Encoding.Default);
string html = sr.ReadToEnd();
Regex re = new Regex("(?<=<title>).*(?=</title>)");
Match mc = re.Match(html);
string[] value = mc.Value.Split('-'); return value[0].Trim();
}
catch
{
throw new WebException();
}
}
这样确实是可以获取到页面的title值,但是不是所有的都能得到,现在就是纳闷在这,谁知道这是什么问题?是不是正则写的有问题?http://item.taobao.com/auction/item_detail-0db2-cd7a23d8ad661d353ab546507d964148.htm 可以获取到title值 http://store.taobao.com/shop/view_shop-ba90d1f498c3a776e3f92987dc75b3c5.htm 这个就获取不到
解决方案 »
- 帮忙整理一套思路--数据库取值赋给等级星样式
- (顺便散分)如果取得客户端的显示器的分辨率
- 想做个网站要求性能好些 Entity framework 和 nhibernate
- vs 启动调试问题!!!!!!!!!!!!!!!!!
- 小问题 传值
- word文档存在blob中,web页面如何展示?
- 要做一个系统日志功能
- Asp.net中基于Forms验证的角色验证授权中怎样设计数据库中的用户表
- 我的程序中总是提示“CS0246:找不到类型或命名空见名称 Eventags(是否缺少using指令或程序集引用?)”
- 1分钟的民意调查:假如你是客户,IT类的项目,你都在乎供应商什么呢?
- 高手帮忙:用C#如何得到时间服务器ntp的时间
- 急急.....又个郁闷的问题...........请大家帮忙
return value[0].Trim();
为什么要分割标题,直接TRIM吧。
这样后台获取