当前位置:
首页 > Python基础教程 >
-
ASP.net教程之C#采用vony.Html.AIO插件批量爬MM网站图
一、创建项目
1.创建一个.netframework的控制台项目命名为Crawler
2.安装nuget包搜索名称Ivony.Html.AIO,使用该类库什么方便类似jqury的选择器可以根据类名或者元素类型来匹配元素,无需要写正则表达式。
3.创建一个图片类Image
一、抓取页面图片
1.拿到所有图片页面的地址
本次爬取的网站为https://www.mntup.com/,打开页面进入二级目录https://www.mntup.com/SiWa.html,并查页面看源代码,如下图:
图片页都在class=“dana”的div下面,我们要拿去div中超链接的href,如下格式:
<div class="dana"><a href=/Rosimm/liantiyimeizi_4f4d781d.html title=[Rosi写真]NO.2637_红色吊带高叉连体衣妹子床上狗爬式秀浑圆翘臀撩人诱惑写真38P target=_blank>
[Rosi写真]NO.2637_红色吊带高叉连体衣妹子床上狗爬式秀浑圆翘臀撩人诱惑写真38P <b> <font color=ff0000>2019-02-26</b></font>
</a></div>
首先考虑要拿到所有图片页面的超链接,c#代码下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
//需要定义一个list用来存放所有的页面链接 static List< string > categoryUrl = new List< string >(); //加载url到文档 IHtmlDocument source = new JumonyParser().LoadDocument( "https://www.mntup.com/XiuRen.html" , System.Text.Encoding.GetEncoding( "utf-8" )); //获取所有class=dana的的a标签 var divLinks = source.Find( ".dana a" ); foreach ( var aLink in divLinks) { var categoryName = aLink.Attribute( "href" ).Value(); //获取a中的链接 categoryUrl.Add(categoryName); } |
2.打开图片页,发现是带有分页的,那就要获取所有的分页的链接了。分页的地址都在页面当中,所以我们直接匹配就好。
由于每个图片页都有分页地址,所以直接匹配分页地址,C#代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
foreach ( var url in categoryUrl) { //获取图片也的的文档 IHtmlDocument html = new JumonyParser().LoadDocument($ "{address}{url}" , System.Text.Encoding.GetEncoding( "utf-8" )); //获取每个分页面并下载 var pageLink = html.Find( ".page a" ); foreach ( var alingk in pageLink) { string href = alingk.Attribute( "href" ).Value(); Console.WriteLine($ "获取分页地址{href}" ); } } |
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式