<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net采集網(wǎng)頁圖片的具體方法

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:40:55
        文檔

        asp.net采集網(wǎng)頁圖片的具體方法

        asp.net采集網(wǎng)頁圖片的具體方法:在網(wǎng)上找了下大多都是通過字符串操作找出img標簽,這種方式操作起來比較麻煩,而且代碼看起來比較累。這里我用的方法是通過WebBrowser來加載一個頁面,然后HTMLDocument類來操作省去了字符串操作的步驟,直接調用GetElementsByTagName把所有圖片地
        推薦度:
        導讀asp.net采集網(wǎng)頁圖片的具體方法:在網(wǎng)上找了下大多都是通過字符串操作找出img標簽,這種方式操作起來比較麻煩,而且代碼看起來比較累。這里我用的方法是通過WebBrowser來加載一個頁面,然后HTMLDocument類來操作省去了字符串操作的步驟,直接調用GetElementsByTagName把所有圖片地

        在網(wǎng)上找了下大多都是通過字符串操作找出img標簽,這種方式操作起來比較麻煩,而且代碼看起來比較累。這里我用的方法是通過WebBrowser來加載一個頁面,然后HTMLDocument類來操作省去了字符串操作的步驟,直接調用GetElementsByTagName把所有圖片地址返回到一個HtmlElementCollection對象里。
        代碼如下:
        代碼如下:
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Text.RegularExpressions;
        using System.Net;
        using System.IO;
        using System.Windows.Forms;
        namespace WindowsFormsApplication1
        {
            public class GatherPic
            {
                private string savePath;
                private string getUrl;
                private WebBrowser wb;
                private int iImgCount;
                //初始化參數(shù)
                public GatherPic(string sWebUrl, string sSavePath)
                {
                    this.getUrl = sWebUrl;
                    this.savePath = sSavePath;
                }
                //開始采集
                public bool start()
                {
                    if (getUrl.Trim().Equals(""))
                    {
                        MessageBox.Show("哪來的蝦米連網(wǎng)址都沒輸!");
                        return false;
                    }
                    this.wb = new WebBrowser();
                    this.wb.Navigate(getUrl);
                    //委托事件
                    this.wb.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
                    return true;
                }
                //WebBrowser.DocumentCompleted委托事件
                private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
                {
                    //頁面里框架iframe加載完成不掉用SearchImgList()
                    if (e.Url != wb.Document.Url) return;
                    SearchImgList();
                }
                //檢查出所有圖片并采集到本地
                public void SearchImgList()
                {
                    string sImgUrl;
                    //取得所有圖片地址
                    HtmlElementCollection elemColl = this.wb.Document.GetElementsByTagName("img");
                    this.iImgCount = elemColl.Count;
                    foreach (HtmlElement elem in elemColl)
                    {
                        sImgUrl = elem.GetAttribute("src");
                        //調用保存遠程圖片函數(shù)
                        SaveImageFromWeb(sImgUrl, this.savePath);
                    }
                }
                //保存遠程圖片函數(shù)
                public int SaveImageFromWeb(string imgUrl, string path)
                {
                    string imgName = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf("/") + 1);
                    path = path + "\\" + imgName;
                    string defaultType = ".jpg";
                    string[] imgTypes = new string[] { ".jpg", ".jpeg", ".png", ".gif", ".bmp" };
                    string imgType = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf("."));
                    foreach (string it in imgTypes)
                    {
                        if (imgType.ToLower().Equals(it))
                            break;
                        if (it.Equals(".bmp"))
                            imgType = defaultType;
                    }
                    try
                    {
                        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgUrl);
                        request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
                        request.Timeout = 10000;
                        WebResponse response = request.GetResponse();
                        Stream stream = response.GetResponseStream();
                        if (response.ContentType.ToLower().StartsWith("image/"))
                        {
                            byte[] arrayByte = new byte[1024];
                            int imgLong = (int)response.ContentLength;
                            int l = 0;
                            // CreateDirectory(path);
                            FileStream fso = new FileStream(path, FileMode.Create);
                            while (l < imgLong)
                            {
                                int i = stream.Read(arrayByte, 0, 1024);
                                fso.Write(arrayByte, 0, i);
                                l += i;
                            }
                            fso.Close();
                            stream.Close();
                            response.Close();
                            return 1;
                        }
                        else
                        {
                            return 0;
                        }
                    }
                    catch (WebException)
                    {
                        return 0;
                    }
                    catch (UriFormatException)
                    {
                        return 0;
                    }
                }
            }
        }
        //-----------------調用代碼--------------------
        GatherPic gatherpic = new GatherPic(“http://www.baidu.com”,"C:\test");
        //請確保c:\下存在test路徑
        gatherpic.start()

        聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net采集網(wǎng)頁圖片的具體方法

        asp.net采集網(wǎng)頁圖片的具體方法:在網(wǎng)上找了下大多都是通過字符串操作找出img標簽,這種方式操作起來比較麻煩,而且代碼看起來比較累。這里我用的方法是通過WebBrowser來加載一個頁面,然后HTMLDocument類來操作省去了字符串操作的步驟,直接調用GetElementsByTagName把所有圖片地
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲6080yy久久无码产自国产 | **一级一级毛片免费观看| 夜色阁亚洲一区二区三区| 亚洲美女在线国产| ssswww日本免费网站片| 久久亚洲国产精品五月天婷| 亚洲人成电影在线观看青青| 精品免费久久久久久久| 亚洲乱码一区av春药高潮| 24小时免费直播在线观看| 亚洲国产精品久久久久秋霞小| 女人毛片a级大学毛片免费| 亚洲国产精品嫩草影院| 亚洲高清偷拍一区二区三区| 国产日韩久久免费影院 | 男女超爽刺激视频免费播放| 亚洲国产精品一区二区三区在线观看| 无码专区永久免费AV网站| 亚洲国产精品精华液| 亚洲婷婷国产精品电影人久久| 两性色午夜免费视频| 伊人久久综在合线亚洲2019| 亚洲免费在线观看| 亚洲av日韩av不卡在线观看| 成年人网站免费视频| 亚洲精品精华液一区二区| 免费播放春色aⅴ视频| a级毛片免费全部播放| 亚洲国产一区国产亚洲 | 亚洲五月午夜免费在线视频| 亚洲av网址在线观看| 国产成人免费高清激情视频| 免费人成大片在线观看播放| 成人毛片18女人毛片免费视频未 | 啊v在线免费观看| 免费久久人人爽人人爽av| 亚洲不卡1卡2卡三卡2021麻豆| 小草在线看片免费人成视久网| 亚洲AV福利天堂一区二区三| 毛片a级毛片免费观看品善网| h视频在线免费观看|