基于浏览器获得页面内容的好处?
1:可以获得任何网站的页面内容
2:可获得javascript等ajax动态生成的内容
朋友,我的问题是:
1.经试验,发现直接调用webbrouser控件可以办到,单不知道如何将其封装到一个函数里?
2.如何用c#调用ie或firefox浏览器获得网页内容?
本人已花了一个月都没搞定,救命啊~
11 个解决方案
#1
up
#2
谢谢楼上兄弟,这个问题是在太难了!
#3
帮你顶下,我顺便学习学习!
#4
#region 读取页面详细信息
/// <summary>
/// 读取页面详细信息
/// </summary>
/// <param name="url">需要读取的地址</param>
/// <param name="EncodingType">读取的编码方式</param>
/// <returns></returns>
string GetURLContent(string url, string EncodingType)
{
try
{
string PetiResp = "";
Stream mystream;
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
req.AllowAutoRedirect = true;
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse();
if (resp.StatusCode == System.Net.HttpStatusCode.OK)
{
mystream = resp.GetResponseStream();
System.Text.Encoding encode = System.Text.Encoding.GetEncoding(EncodingType);
StreamReader readStream = new StreamReader(mystream, encode);
char[] cCont = new char[256];
int count = readStream.Read(cCont, 0, 256);
while (count > 0)
{
// Dumps the 256 characters on a string and displays the string to the console.
String str = new String(cCont, 0, count);
PetiResp += str;
count = readStream.Read(cCont, 0, 256);
}
resp.Close();
return PetiResp;
}
resp.Close();
return null;
}
catch (Exception ex)
{
WriteLog.Writelog("这是获取页面全部html代码时发生的错误:" + url, ex);
return null;
}
}
#endregion
这个基本能够获得所有页面的源码了
js生成的代码貌似是存在内存中的。。不知道怎么获取
#5
....又进错地方了
#6
虽然不会。。还是进来看了一看。。。
#7
不会
#8
帮顶
#9
mark
#10
一般用HttpWebRe设计quest,复杂就要使用
爬虫系统了
爬虫系统了
#11
专程路过,我是菜鸟。
#1
up
#2
谢谢楼上兄弟,这个问题是在太难了!
#3
帮你顶下,我顺便学习学习!
#4
#region 读取页面详细信息
/// <summary>
/// 读取页面详细信息
/// </summary>
/// <param name="url">需要读取的地址</param>
/// <param name="EncodingType">读取的编码方式</param>
/// <returns></returns>
string GetURLContent(string url, string EncodingType)
{
try
{
string PetiResp = "";
Stream mystream;
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
req.AllowAutoRedirect = true;
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse();
if (resp.StatusCode == System.Net.HttpStatusCode.OK)
{
mystream = resp.GetResponseStream();
System.Text.Encoding encode = System.Text.Encoding.GetEncoding(EncodingType);
StreamReader readStream = new StreamReader(mystream, encode);
char[] cCont = new char[256];
int count = readStream.Read(cCont, 0, 256);
while (count > 0)
{
// Dumps the 256 characters on a string and displays the string to the console.
String str = new String(cCont, 0, count);
PetiResp += str;
count = readStream.Read(cCont, 0, 256);
}
resp.Close();
return PetiResp;
}
resp.Close();
return null;
}
catch (Exception ex)
{
WriteLog.Writelog("这是获取页面全部html代码时发生的错误:" + url, ex);
return null;
}
}
#endregion
这个基本能够获得所有页面的源码了
js生成的代码貌似是存在内存中的。。不知道怎么获取
#5
....又进错地方了
#6
虽然不会。。还是进来看了一看。。。
#7
不会
#8
帮顶
#9
mark
#10
一般用HttpWebRe设计quest,复杂就要使用
爬虫系统了
爬虫系统了
#11
专程路过,我是菜鸟。