关于c# .net爬虫

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

1.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

当然了,这个解释很清晰,也很高尚,说到底,爬虫就是用来获取网页信息的!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google 的 Java 编码规范,参考学习!

目录 01 术语说明和指南说明 02 源文件基础 2.1 文件名 2.2 文件编码&#xff1a;UTF-8 2.3 特殊字符 03 源文件结构 3.1 许可证或版权信息 3.2 package语句 3.3 import语句 3.4 类声明 04 格式 4.1 大括号 4.3 一行一个语句 4.4 列限制&#xff1a;80 或 100 4…

MySQL Schema与数据类型的优化

选择优化的数据类型&#xff1a; 1、 更小的通常更好&#xff1a; 一般情况下&#xff0c;应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快&#xff0c;因为他们占用更少的磁盘&#xff0c;内存和cpu缓存&#xff0c;并且处理时需要的cpu周期也更少。 2、…

【Pix4d精品教程】Pix4d中央子午线细化设置(测区跨两个分带)

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 航测内业中,在自由空三结束之后,需要导入像控点,进而去刺像控点。但是当测区跨两个分带的时候(如测区正好处在3度带105和108中间),像控点可能距离靶标点很远,给刺点带来了很大难度。怎样解…

Failed:(13: Permission denied)导致访问浏览器出现Nginx 500 Internal Server Error

1 、问题 我在部署nginx反向代理服务器的时候&#xff0c;nginx.conf文件都配置好了&#xff0c;但是我在浏览器里面输入域名的时候&#xff0c;提示Nginx 500 Internal Server Error 2、分析 我们需要找到nginx输出错误日志的文件&#xff0c;在nginx.conf里面我们可以看到错…

MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI

1. 前言距离上次发《MAUI初体验&#xff1a;爽》一文已经过去2个月了&#xff0c;本计划是下半年或者明年再研究MAUI的&#xff0c;现在计划提前啦&#xff0c;因为我觉得MAUI Blazor挺有意思的&#xff1a;在Android、iOS、macOS、Windows之间共享UI&#xff0c;一处UI增加或者…

dns 报文格式

最近学习了下DNS的格式&#xff0c;发现很多内容都是转载自同一个而且说的不是很清楚&#xff0c;特再整理下具体可以查看RFC1035 http://www.ietf.org/rfc/rfc1035.txt有详细的解释对于英语理解不是很好和懒得看这么长的可以看下本文首先是DNS数据帧的格式-------------------…

input file实现批量上传

1、需求实现word批量上传。 2、使用插件jquery-form.js 3、html代码 注意 multiple"multiple" 1 <form id"frm_upload" method"post" enctype"multipart/form-data"> 2   <input type"file" id"filepath&qu…

【Pix4d精品教程】Pix4d修编正射影像DOM的两种方法案例详解

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) DOM修编前: DOM修编后: 文章摘要: Pix4d内业数据处理通常会生成点云、DSM和DOM等产品,DSM经过精编可以生成精准的DEM,而DOM一般情况下,存在比如房屋边缘被拉花,或者存在噪点的情况

删除Linux下/tmp目录引起的不正常登录系统

现象&#xff1a;/tmp占用400M的空间(里面全部是乱七八糟的东西) 动作&#xff1a;删除/tmp目录 后果&#xff1a;造成只能启动到控制台模式 应急&#xff1a; 1 创建目录&#xff1a;#mkdir /tmp 结果系统在控制台模式登录和X windows模式登录状态间反复切换&#xff0c;不能进…

C语言试题八十五之狼追兔子问题

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 一只兔子躲…

[转]快速使用FileProvider解决Android7.0文件权限问题

升级到Android7.0之后&#xff0c;启动系统相机或者截图&#xff0c;传入URI的时候可能会导致程序闪退崩溃。这是因为7.0的新的文件权限导致的。下面是解决这个问题的快速解决方案。 问题代码 在7.0可能会出问题的代码&#xff1a; final String CACHE_IMG Environment.getExt…

终于找到了,开源的Vue3+.NET6通用管理后台!

据说80%的.NET项目都是管理后台&#xff0c;然而能用上Vue3.NET6的管理后台并不多见。这里分享一套Vue3 Axios TS Vite ElementUI Plus .NET 6 WebAPI JWT SqlSugar的前后端分离架构的通用管理后台源码数据库脚本&#xff0c;还有与之配套录制的一组视频教程&#xff0c;全部打…

【Pix4d精品教程】Pix4d模型成果导出OSGB并加载OSGB到EPS进行三维测图完美案例教程

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 在垂直摄影中,Pix4d也可以生成漂亮的三维模型,并导出为OSGB,加载到EPS进行三维测图。首先来看生成的三维格网纹理和EPS三维模型加载效果。 Pix4d生成的三维格网纹理: EPS加载OSGB模型效果: 文…

Vim 批量替换

假设在非Win系统下。 想批量替换文本不再是Ctrl&#xff0b;F那么简单了&#xff0c; 一般用Vim来做批量替换&#xff0c; 略微复杂点&#xff1a; 比如将192.168.0.1替换为192.168.0.2 :%s/192.168.0.1/192.168.0.2/g

Android实现ListView(1)

昨天有个朋友问我Android ListView列表视图&#xff0c;遇到了点错误&#xff0c;今天我给大家演示&#xff0c;具体实现见图&#xff1a; 1&#xff1a;创建一个item布局layout/item.xml 2&#xff1a;创建一个ListViewActivity类&#xff0c;但是必须继承ListActivity&#x…

WolframAlpha 的使用

WolframAlpha 1. 求解复杂方程组 ab−4abc2ac1直接点开网站&#xff0c;在输入框中输入&#xff0c;ab-4;abc2;ac1;&#xff08;逗号分割开来&#xff09;&#xff0c; 转载于:https://www.cnblogs.com/mtcnn/p/9423087.html

C语言试题八十六之兔子生兔子问题

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 假设一对兔…

聊聊 C# 中的 Composite 模式

‍写在前面 Composite组合模式属于设计模式中比较热门的一个&#xff0c;相信大家对它一定不像对访问者模式那么陌生&#xff0c;毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新&#xff0c;我们还是从一个例子出发&#xff0c;起底一下这个模式吧。一个简单例子 设想我们…

140种Python标准库、第三方库和外部工具都有了

导读&#xff1a;Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置函数和标准库&#xff0c;又有第三方库和工具。 这些库可用于文件读写、网络抓取和解析、数据连接、数清洗转换、数据计算和统计分析、图像和视频处理…

【CC精品教程】任务一:CC新建工程、添加照片、相机参数设置、选择坐标系统

《无人机航空摄影测量精品教程》合集目录(Pix4d、CC、EPS、PhotoScan、Inpho) 同Pix4d一样,CC(Context Capture),也称Smart 3D,也是无人机航测中人手必备的一款软件,在空三运算,三维模型构建等倾斜摄影测量方面有很大的优势,精度也相当高。本CC系列精品教程从项目的角…