网站自动采集系统(网站管理员演示使用实现下一页,按标题分类 )
优采云 发布时间: 2022-01-21 00:09网站自动采集系统(网站管理员演示使用实现下一页,按标题分类
)
网站管理员想把别人的整个站点数据下载到自己的网站,或者把别人的网站的一些内容保存到自己的服务器上。从内容中提取相关字段并将它们发布到您自己的网站系统。有时需要将网页相关的文件,比如图片、附件等保存在本地。
图片采集软件可以采集任意网站各种格式的图片,实现文章中间的所有图片、新闻、帖子等全部分类保存你的电脑有高级功能,可以将任意论坛网站所有帖子的图片采集放到本地,轻松过滤广告等,朋友必备工具。
本文演示使用C#WebBrowser控件自动识别下一页、按标题分类、自动下载图片(不重复)。效果如下图1所示。随附的代码下载中提供了完整的源代码。
图 1 渲染
演示程序结构
为了创建演示程序,我选择在 Visual Studio 2013 中新建一个名为 ImgSpider 的 C# Windows 窗体应用程序,并添加 Controls 文件夹以收录封装的标签和文本框控件;Core文件夹收录字典实体Entity使用的基类;Entity 文件有一个映射类,用于读取配置文件dict.xml;Helper文件夹有下载图片的DownLoadHelper,HtmlParserHelper解析HTML,XmlHelper读取XML文档;窗体文件frmAutoBorwser是程序的操作界面。图 2 显示了演示程序的总体结构。
程序执行表格文件 frmAutoBorwser
表单文件frmAutoBorwser中使用的控件,
一、WebBrowser控件
WebBrowser 是一个 .NET 控件类,在 .NET Framework 2.0 版本中新增。WebBrowser 类使用户能够在表单中导航网页。使用 WebBrowser 控件在 Windows 窗体应用程序中托管网页和其他支持浏览器的文档。例如,您可以使用 WebBrowser 控件在您的应用程序中提供集成的基于 HTML 的用户帮助或 Web 浏览功能。此外,您可以使用 WebBrowser 控件将现有的基于 Web 的控件添加到 Windows 窗体客户端应用程序。
二、Timer控件
通过引发 Timer 事件,Timer 控件可以定期执行代码。
三、DataGridView控件
将数据绑定到 DataGridView 控件非常简单直观,在大多数情况下,只需设置 DataSource 属性即可。
点击采集图片按钮
WebBrowser.Navigate 方法将网页导航到 采集 的起始 URL。需要注意的是,采集操作只有在WebBrowser控件加载完成后才能继续。定时器控件定期执行,WebBrowser 控件加载后要执行的任务是采集。
获取当前页面标题URL判断是否已下载
为了处理需要下载的标题 URL,WebBrowser 导航到指定的 URL
获取当前标题图片 URL,WebBorwser 导航到下一个图片 URL
下载图片,判断是否按标题拆分,更新Access数据库
DownLoadHelper.cs 文件的主要方法是
下载图片
HtmlParserHelper.cs文件的主要方法
首先,获取当前图片URL和下一个图片URL