首先用WebRequest读取网页的内容
然后用正则提取出所有带“答案”两字的链接
再然后用WebRequest抓取这些链接所指向的页面
然后用正则提取出所有带“答案”两字的链接
再然后用WebRequest抓取这些链接所指向的页面
解决方案 »
- 请问该程序怎么出错了,怎么改?调试时显示ORA-00911: invalid character,但是这个查询语句在数据库里是正确的
- 删除sql数据库记录的速度突然变慢了....
- 求大师详细讲解
- 关于treeview控件的问题
- C# 菜鸟继续提问!
- 如何实现带链接listbox
- BeginReceive回调问题。。
- datagrid的问题,难死我了!!
- 在路由器上是否可以同时对内网的2个sqlserver服务器做映射?如果可以,怎么在连接字符串上区分它们?
- DataGridView更新多条数据问题!!! 急!!!!!在线等!!!!!!!!!
- c#代码如何实现将swf文件转换成scr屏保文件
- 向高手请教C#中OpenFilDialog与写XML文件之间的问题!~!
webbrower获取页面数据,再查询
HtmlElementCollection coll= doc.GetElementsByTagName("A");
for (int i = 0; i < coll.Count; i++)
{
}
//对url进行编码;url:请求的路径;enc:编码格式
private static string UrlEncode(string url, Encoding enc)
{
byte[] bs = enc.GetBytes(url); //得到字节表示的数组
StringBuilder sb = new StringBuilder(); //用于返回结果
for (int i = 0; i < bs.Length; i++)
{
if (bs[i] < 128) //asc码在128以下,直接添加
sb.Append((char)bs[i]);
else
{
//以格式化好的样式添加
sb.Append("%" + bs[i++].ToString("x").PadLeft(2, '0'));
sb.Append("%" + bs[i].ToString("x").PadLeft(2, '0'));
}
}
return sb.ToString();
} //获取某个页面。以返回流的编码方式,接收返回的信息
private string Thief(string url)
{
string tempurl = UrlEncode(url, System.Text.Encoding.GetEncoding("gb2312")); //url
HttpWebRequest webr = (HttpWebRequest)WebRequest.Create(tempurl); //创建请求
HttpWebResponse wb = (HttpWebResponse)webr.GetResponse();
Stream sr = wb.GetResponseStream(); //得到返回数据流
Encoding encode;
switch (wb.CharacterSet.ToLower()) //返回数据流的编码方式
{
case "utf-8":
encode = System.Text.Encoding.GetEncoding("utf-8");
break;
case "gb2312":
encode = System.Text.Encoding.GetEncoding("gb2312");
break;
default:
encode = System.Text.Encoding.GetEncoding("gb2312"); //默认为中文
break;
}
StreamReader sr1 = new StreamReader(sr, encode);
string zz = sr1.ReadToEnd(); //读取完成
sr1.Close();
wb.Close();//关闭
return zz;
}