博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于c# .net爬虫
阅读量:5295 次
发布时间:2019-06-14

本文共 1699 字,大约阅读时间需要 5 分钟。

刚开始听到爬虫这两个字眼的时候感觉挺稀奇的,之前并没有接触过爬虫,正好这会手上没事,于是便百度了一下。

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   大家一起成长,一起学习

转载于:https://www.cnblogs.com/dxqNet/p/6003008.html

你可能感兴趣的文章
字节流与字符流的区别详解
查看>>
20141026--娱乐-箱子
查看>>
自定义分页
查看>>
Oracle事务
查看>>
任意输入10个int类型数据,把这10个数据首先按照排序输出,挑出这些数据里面的素数...
查看>>
String类中的equals方法总结(转载)
查看>>
图片问题
查看>>
bash使用规则
查看>>
AVL数
查看>>
第二章练习
查看>>
ajax2.0
查看>>
C#时间截
查看>>
C语言程序设计II—第九周教学
查看>>
C# 获取系统时间及时间格式转换
查看>>
全栈12期的崛起之捡点儿有用的说说
查看>>
基础类型
查看>>
属性动画
查看>>
标识符
查看>>
Sqli labs系列-less-4 这关好坑!!!
查看>>
路由跟踪工具0trace
查看>>