刚开始听到爬虫这两个字眼的时候感觉挺稀奇的,之前并没有接触过爬虫,正好这会手上没事,于是便百度了一下。
1.(又被称为网页,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。另外一些不常使用的名字还有、自动索引、模拟程序或者。
当然了,这个解释很清晰,也很高尚,说到底,爬虫就是用来获取网页信息的!
2.有点门路了,于是我就自己写了一段代码
创建http请求 获取http参数 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 请求方式 req.Method = "GET"; 接收的内容 这里接收网页的信息 req.Accept = "text/html"; //用户代理 req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
string html = null;
接收请求结果流 HttpWebResponse res = (HttpWebResponse)req.GetResponse(); using (StreamReader reader = new StreamReader(res.GetResponseStream())) { 读完 html = reader.ReadToEnd();}
3.没错就是http请求,获取到页面的html所有代码信息,有了这些信息,我就可以进行下一步操作了,(我想爬一下网页上的图片,于是看了一下网页代码)
4.大家发现什么了吗,现在开始下一步操作,解析。。。。
private static string[] GetLinks(string html)
{ const string pattern = @"https*://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"; Regex r = new Regex(pattern, RegexOptions.IgnoreCase); MatchCollection m = r.Matches(html); string[] links = new string[m.Count];for (int i = 0; i < m.Count; i++)
{ links[i] = m[i].ToString(); } return links; }5.恩,正则匹配我可以那到所有此站点的相关链接
6.当然了,链接仅仅是图片的,css js 网页什么的都是有的,好的 再过滤一下。
if((url.Contains(".jpg") || url.Contains(".gif") || url.Contains(".png"))) {HttpWebRequest httpHelper = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse httpResponse = (HttpWebResponse)httpHelper.GetResponse(); try { this.Invoke((MethodInvoker)(() => { using (Stream sr = httpResponse.GetResponseStream()) { imageBox.Image = Image.FromStream(sr); } })); } catch (Exception) { } Thread.Sleep(500); return false; }7.这里我把图片的过滤了出来同时给解析了出来,到这里 你看懂了么。
我们会把当前页面的所有相关图片都给扫出来,这次我们就浅谈到这里.....有兴趣的可以加我的qq:759697338 大家一起成长,一起学习