php抓取网页源码(基于C#实现网络爬虫,抓取网页Html源码C#抓取)

优采云 发布时间: 2022-01-11 20:08

  php抓取网页源码(基于C#实现网络爬虫,抓取网页Html源码C#抓取)

  想知道基于C#的网络爬虫C#爬取网页Html源码的相关内容吗?本文小虾乔将为大家讲解C#爬取网页Html源码的相关知识以及一些代码示例。欢迎阅读和指正。先把重点:C#网页爬虫,C#抓取网页Html源码,C#抓取网页源码,C#抓取网页,一起来学习。

  我最近刚刚完成了一个简单的网络爬虫。一开始我很迷茫,不知道如何下手。后来查了很多资料,但确实能满足我的需要。有用的信息 - 代码很难找到。所以想发这个文章让一些想做这个功能的朋友少走弯路。

  首先是抓取Html源码,选择节点的href:添加using System.IO;using System.Net;

  

private void Search(string url)

{

string rl;

WebRequest Request = WebRequest.Create(url.Trim());

WebResponse Response = Request.GetResponse();

Stream resStream = Response.GetResponseStream();

StreamReader sr = new StreamReader(resStream, Encoding.Default);

StringBuilder sb = new StringBuilder();

while ((rl = sr.ReadLine()) != null)

{

sb.Append(rl);

}

string str = sb.ToString().ToLower();

string str_get = mid(str, "", "");

int start = 0;

while (true)

{

if (str_get == null)

break;

string strResult = mid(str_get, "href=\"", "\"", out start);

if (strResult == null)

break;

else

{

lab[url] += strResult;

str_get = str_get.Substring(start);

}

}

}

private string mid(string istr, string startString, string endString)

{

int iBodyStart = istr.IndexOf(startString, 0); //开始位置

if (iBodyStart == -1)

return null;

iBodyStart += startString.Length; //第一次字符位置起的长度

int iBodyEnd = istr.IndexOf(endString, iBodyStart); //第二次字符在第一次字符位置起的首次位置

if (iBodyEnd == -1)

return null;

iBodyEnd += endString.Length; //第二次字符位置起的长度

string strResult = istr.Substring(iBodyStart, iBodyEnd - iBodyStart - 1);

return strResult;

}

private string mid(string istr, string startString, string endString, out int iBodyEnd)

{

//初始化out参数,否则不能return

iBodyEnd = 0;

int iBodyStart = istr.IndexOf(startString, 0); //开始位置

if (iBodyStart == -1)

return null;

iBodyStart += startString.Length; //第一次字符位置起的长度

iBodyEnd = istr.IndexOf(endString, iBodyStart); //第二次字符在第一次字符位置起的首次位置

if (iBodyEnd == -1)

return null;

iBodyEnd += endString.Length; //第二次字符位置起的长度

string strResult = istr.Substring(iBodyStart, iBodyEnd - iBodyStart - 1);

return strResult;

}

  好了,以上就是全部代码了。如果你想运行它,你需要自己修改一些细节。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线