網站管理員希望將別人的整站數據下載到自己的網站里或者將別人網站的一些內容保存到自己的伺服器上。從內容中抽取相關的欄位,發佈到自己的網站系統中。有時需要將網頁相關的文件也保存到本地,如圖片、附件等。 圖片採集軟體能採集任何網站的各種格式圖片,實現把所有文章、新聞、帖子等中間的圖片全部有有序列的分類後保 ...
網站管理員希望將別人的整站數據下載到自己的網站里或者將別人網站的一些內容保存到自己的伺服器上。從內容中抽取相關的欄位,發佈到自己的網站系統中。有時需要將網頁相關的文件也保存到本地,如圖片、附件等。
圖片採集軟體能採集任何網站的各種格式圖片,實現把所有文章、新聞、帖子等中間的圖片全部有有序列的分類後保存到您的電腦上等功能,可以把任何論壇網站的所有帖子的圖片採集到本地,輕鬆過濾廣告等,是網站、論壇站長和喜歡收集美圖的朋友的必備工具。
本文演示使用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所示。在隨附的代碼下載中提供了完整的源代碼。完整的源代碼下載鏈接