C#编程学习40:批量下载HTML页面到本地
生活随笔
收集整理的這篇文章主要介紹了
C#编程学习40:批量下载HTML页面到本地
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
1 核心代碼:
1.1 獲取html頁面到本地
1.2 批量處理按鈕
2 程序界面:
在網上看到一本書,Data Structures and Algorithms來回翻網頁比較麻煩,就用C#做了一個自動下載到本地的小程序
1 核心代碼:
1.1 獲取html頁面到本地
public void getHtmlPage(string url, string outPath){try {WebClient MyWebClient = new WebClient(); MyWebClient.Credentials = CredentialCache.DefaultCredentials;//獲取或設置用于向Internet資源的請求進行身份驗證的網絡憑據Byte[] pageData = MyWebClient.DownloadData(url); //從指定網站下載數據string pageHtml = Encoding.Default.GetString(pageData); //如果獲取網站頁面采用的是GB2312,則使用這句 //string pageHtml = Encoding.UTF8.GetString(pageData); //如果獲取網站頁面采用的是UTF-8,則使用這句Console.WriteLine(pageHtml);//在控制臺輸入獲取的內容using (StreamWriter sw = new StreamWriter(outPath))//將獲取的內容寫入文本{sw.Write(pageHtml);}//MessageBox.Show("success"); }catch(WebException webEx) {Console.WriteLine(webEx.Message.ToString());}}1.2 批量處理按鈕
private void btnHtmlToPdf_Click(object sender, EventArgs e){int startHtml = int.Parse(txt_startPage.Text);int endHtml = int.Parse(txt_endPage.Text);// HtmlToPdf(@"http://lcm.csa.iisc.ernet.in/dsa/node4.html");string srcPath = txt_srcPath.Text;string dstPath = txt_outHtmlDir.Text;string pageFlag = txt_indexFlag.Text;string tmpPage = String.Empty;string dstFilePath = string.Empty;progressBar1.Minimum = 0;progressBar1.Maximum = endHtml - startHtml;for (int i = startHtml; i < endHtml; i++){tmpPage = srcPath + pageFlag + i.ToString() + ".html";dstFilePath = dstPath + "\\" + i.ToString() + ".html";getHtmlPage(tmpPage, dstFilePath);progressBar1.Value++;}}2 程序界面:
測試:
下載結果:
?
注:
- dstFilePath = dstPath + "\\" + i.ToString() + ".html";修改為dstFilePath = dstPath + "\\"+ pageFlag+ i.ToString() + ".html";可以保留網頁的原始索引
- 手動下載dsa.html文件,可以實現html之間的自由切換
- 我的處理方式是:用以上源碼生成html后,在使用拖把更名器進行了處理
- 后續可以嘗試將這些html文件轉化為pdf文件更方便查看
總結
以上是生活随笔為你收集整理的C#编程学习40:批量下载HTML页面到本地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html2canvas 一个强大的使用j
- 下一篇: C# 流量悬浮窗