C#圖片採集軟體 自動翻頁 自動分類(收集美圖必備工具)

来源:http://www.cnblogs.com/channel9/archive/2016/07/02/5635186.html
-Advertisement-
Play Games

網站管理員希望將別人的整站數據下載到自己的網站里或者將別人網站的一些內容保存到自己的伺服器上。從內容中抽取相關的欄位,發佈到自己的網站系統中。有時需要將網頁相關的文件也保存到本地,如圖片、附件等。 圖片採集軟體能採集任何網站的各種格式圖片,實現把所有文章、新聞、帖子等中間的圖片全部有有序列的分類後保 ...


網站管理員希望將別人的整站數據下載到自己的網站里或者將別人網站的一些內容保存到自己的伺服器上。從內容中抽取相關的欄位,發佈到自己的網站系統中。有時需要將網頁相關的文件也保存到本地,如圖片、附件等。

圖片採集軟體能採集任何網站的各種格式圖片,實現把所有文章、新聞、帖子等中間的圖片全部有有序列的分類後保存到您的電腦上等功能,可以把任何論壇網站的所有帖子的圖片採集到本地,輕鬆過濾廣告等,是網站、論壇站長和喜歡收集美圖的朋友的必備工具。

本文演示使用C# WebBrowser控制項實現自動識別下一頁,按標題分類,圖片自動下載(不重覆),效果如下圖1所示。在隨附的代碼下載中提供了完整的源代碼。

1

圖1 效果圖

演示程式結構

創建演示程式,我在Visual Studio 2013 選擇新建C#Windows窗體應用程式命名為ImgSpider,添加Controls文件夾包含包含封裝label,textbox控制項;Core文件夾內有字典實體Entity用到的基類;Entity文件夾有讀取配置文件dict.xml的映射類;Helper文件夾有DownLoadHelper用於下載圖片,HtmlParserHelper解析HTML,XmlHelper讀取XML文檔;窗體文件frmAutoBorwser是程式的操作界面。圖2 顯示了演示程式的整體結構。

4

程式執行

窗體文件frmAutoBorwser

在窗體文件frmAutoBorwser使用到的控制項,

第一,WebBrowser控制項

WebBrowser 是一個 .NET 控制項類,在 .NET Framework 2.0 版中新增。WebBrowser 類使用戶可以在窗體中導航網頁。使用 WebBrowser 控制項可以在 Windows 窗體應用程式中承載網頁以及支持瀏覽器的其他文檔。例如,可以使用 WebBrowser 控制項在應用程式中提供基於 HTML 的集成用戶幫助或 Web 瀏覽功能。此外,還可以使用 WebBrowser 控制項向 Windows 窗體客戶端應用程式添加基於 Web 的現有控制項。

第二,Timer 控制項

通過引發 Timer 事件,Timer 控制項可以有規律地隔一段時間執行一次代碼。

第三,DataGridView 控制項

將數據綁定到 DataGridView 控制項非常簡單和直觀,在大多數情況下,只需設置 DataSource 屬性即可。

1

點擊採集圖片按鈕

WebBrowser.Navigate方法導航網頁到採集的起始網址。要註意WebBrowser控制項載入完成後,才可以繼續採集操作。通過Timer控制項有規律的間隔執行,WebBrowser控制項載入完後要採集的任務。

5

獲取當前頁標題URL,判斷是否已經下載

image

處理需要下載的標題URL,WebBrowser導航到指定URL

image

獲取當前標題圖片URL,並且WebBorwser導航到下一張圖片URL

image

下載圖片,判斷是否按標題拆分,更新Access資料庫

image

DownLoadHelper.cs文件的主要方法是

下載圖片

image

HtmlParserHelper.cs文件的主要方法

第一,獲取當前圖片URL和下一張圖片URL

image

第二,獲取當前頁URL和下一頁URL

image

結束

本文演示使用C# WebBrowser控制項實現圖片採集軟體,自動翻頁,自動分類(收集美圖必備工具),效果如下圖1所示。在隨附的代碼下載中提供了完整的源代碼。完整的源代碼下載鏈接


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 下麵的這個驅動文件at91_keyled.c在Atmel提供的linux-at91-linux4sam_5.3下實現了按鍵控制LED的亮滅過程,通過這個簡單的驅動描述了基於DTS的驅動開發模型以及Linux內核里的GPIO相關的操作函數。 ...
  • 最近因為一個項目,要折騰一下linux下的iptables。好久沒有用這個東西了,感覺也不會有啥問題,所以連想都沒想就開始弄。開啟內核選項,交叉編譯iptables,移植運行後才發現。我靠~不支持了,需要用新的nftables。奶奶的,我老了,被時代所淘汰了。nfatbles是個啥,就是取代ipta ...
  • 上文《linux環境下編譯memcahed》介紹了memcahed在linux環境下的安裝以及登錄,下麵介紹memcahed的基本命令的使用。 Add 功能:往記憶體增加一條新的緩存記錄 語法:addkeyflagexpirelength 解析: key 給要存的值起一個去一個唯一的名字 flag 標... ...
  • 1.到http://www.apuebook.com/選擇相應的版本下載源碼,我的是2013版的 2.將apue.h拷到/usr/include目錄下 3.將error.c拷到源文件下,編譯的時候帶上。 gcc -g -Wall main.c error.c -o test 開始學APUE,把書上的 ...
  • 一直喜歡用【休眠】,但如果離開的時長有點尷尬,既不想開著機無謂耗電,又不想動用休眠傷硬碟,【睡眠】就成了一種合適的選擇。在XP/WIN7等桌面系統下,是可以很方便的進行睡眠/休眠操作的,開始菜單里點就是。但在伺服器系統下,比如win2k8r2,就不是那麼方便了,在開始菜單中找不到現成選項,我能想到的 ...
  • # 查看區域 firewall-cmd --get-zones # 查看預設區域 firewall-cmd --get-default-zone # 給區域添加永久性服務 firewall-cmd --add-service=http --zone=public --permanent # 刪除區域 ...
  • 1.建尾碼名為reg的新文件,複製以下代碼後點擊運行。 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@="管理員取得所有權""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT ...
  • 現在正在使用WPF開發一個股票K線圖圖表,性能考慮是最大的一方面。 每根柱子寬5像素,柱子和柱子之間的間隔3像素。 一個1920*1080解析度的屏幕,勢必要繪製超過200個柱子。如果選擇的繪製方案不先進,對圖表的繪製是有很大的性能影響的。 任何圖形都由直線和曲線構成的。在WPF中,最底層的圖形的繪 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...