C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)
网站管理员希望将别人的整站数据下载到自己的网站里或者将别人网站的一些内容保存到自己的服务器上。从内容中抽取相关的字段,发布到自己的网站系统中。有时需要将网页相关的文件也保存到本地,如图片、附件等。
图片采集软件能采集任何网站的各种格式图片,实现把所有文章、新闻、帖子等中间的图片全部有有序列的分类后保存到您的计算机上等功能,可以把任何论坛网站的所有帖子的图片采集到本地,轻松过滤广告等,是网站、论坛站长和喜欢收集美图的朋友的必备工具。
本文演示使用C# WebBrowser控件实现自动识别下一页,按标题分类,图片自动下载(不重复),效果如下图1所示。在随附的代码下载中提供了完整的源代码。

图1 效果图
演示程序结构
创建演示程序,我在Visual Studio 2013 选择新建C#Windows窗体应用程序命名为ImgSpider,添加Controls文件夹包含包含封装label,textbox控件;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 控件向 Windows 窗体客户端应用程序添加基于 Web 的现有控件。
第二,Timer 控件
通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
第三,DataGridView 控件
将数据绑定到 DataGridView 控件非常简单和直观,在大多数情况下,只需设置 DataSource 属性即可。

点击采集图片按钮
WebBrowser.Navigate方法导航网页到采集的起始网址。要注意WebBrowser控件加载完成后,才可以继续采集操作。通过Timer控件有规律的间隔执行,WebBrowser控件加载完后要采集的任务。

获取当前页标题URL,判断是否已经下载

处理需要下载的标题URL,WebBrowser导航到指定URL

获取当前标题图片URL,并且WebBorwser导航到下一张图片URL

下载图片,判断是否按标题拆分,更新Access数据库

DownLoadHelper.cs文件的主要方法是
下载图片

HtmlParserHelper.cs文件的主要方法
第一,获取当前图片URL和下一张图片URL

第二,获取当前页URL和下一页URL

结束
本文演示使用C# WebBrowser控件实现图片采集软件,自动翻页,自动分类(收集美图必备工具),效果如下图1所示。在随附的代码下载中提供了完整的源代码。完整的源代码下载链接
C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)的更多相关文章
- WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件
原文:WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件 版权声明:本文为博主原创文章,需要转载尽管转载. https://blog.csdn.net/z ...
- ViewPager实现自动翻页功能 --转载出处找不到了,根据自己的理解写个随笔方便以后的记忆以及代码的共享,感谢给我启发的那位高手--第一次写博客哈
xml文件 textview 用于显示图片的标题 viewpager 用于实现翻页效果 <LinearLayout xmlns:android="http://schemas.andr ...
- 10款无限滚动自动翻页jquery插件
2012年3月29日 无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的 结果,改变了一直以来只能通过点击下一页来翻页 ...
- 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版!
转--http://www.2cto.com/kf/201402/277535.html 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版! 2014-02-11 ...
- pyspider示例代码五:实现自动翻页功能
实现自动翻页功能 示例代码一 #!/usr/bin/env python # -*- encoding: utf- -*- # Created on -- :: # Project: v2ex fro ...
- Python-爬虫之股转系统下载文件自动翻页
上次代码只能抓取一个网页上的链接,本次可以自主设定抓取的页面个数. 代码如下: from selenium import webdriver import os, time class Downloa ...
- C# 自动翻页 PPT 测试脚本
本文告诉大家一个可以使用的 C# 脚本,可以用来自动打开 PPT 文件,然后不断执行翻页.每次翻页都截图.翻页之后自动关闭 PPT 再次打开 最近发现给 Office 做的插件,会在一定翻页次数的时候 ...
- 使用Python在自己博客上进行自动翻页
先上一张代码及代码运行后的输出结果的图! 下面上代码: # coding=utf-8 import os import time from selenium import webdriver #打开火 ...
- 通过js实现整屏滑动+全屏翻页+动画展示+线性图
技术:html+css+jquery+jquery-ui.js+jquery.fullPage.js 概述 本demo主要通过html+css+js实现整屏滑动,全屏翻页并带动画的功能效果,借助于 ...
随机推荐
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(16)之轻博客
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 项目到上面一步其实已经算 ...
- while循环&CPU占用率高问题深入分析与解决方案
直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方.使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果, ...
- testng+ant+jenkins持续集成UI自动化
一.环境搭建 1. 安装testNG插件到eclipse. -) 选择菜单 Help /Software updates / Find and Install. -) 点击add button然后在l ...
- Apply,Call,bind对比
apply.call call和apply都是为了改变上下文背景存在的,即改变函数内部指向 javascript一大特点是函数存在定义时的上下文,运行时的上下文和上下文可改变的概念 apply.cal ...
- Linux 内核 ksets 之上的操作
对于初始化和设置, ksets 有一个接口非常类似于 kobjects. 下列函数存在: void kset_init(struct kset *kset); int kset_add(struct ...
- CodeForces - 922D Robot Vacuum Cleaner (贪心)
Pushok the dog has been chasing Imp for a few hours already. Fortunately, Imp knows that Pushok is a ...
- 解决html2canvas图片跨域合成失败的问题
/** * 将图片转换为base64 * 解决html2canvas跨域合成失败的问题 */ var getBase64Image = function(src, cb) { var img = do ...
- HDU4609 FFT+组合计数
HDU4609 FFT+组合计数 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意: 找出n根木棍中取出三根木棍可以组成三角形的概率 题解: ...
- JMeter Web测试计划
在本节中,将学习如何创建测试网页的基本测试计划. 出于演示测试目的,我们将测试URL - https://www.yiibai.com/ 的网页性能. 创建JMeter测试计划 进入到JMeter安装 ...
- C语言图形界面常用函数集锦
(以下函数均应在图形方式初始之后使用(initgraph(a,b)),在win-tc中使用BGI图形程序模板时,其中已经定义有一个initgr函数,在main函数中应在执行initgr函数之后再使用这 ...