知识大全 采集网页图片代码

Posted

篇首语:所谓一见钟情不过见色起意,所谓日久生情不过权衡利弊。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 采集网页图片代码相关的知识,希望对你有一定的参考价值。

    采集网页上图片的主要关键是在怎么解析出页面代码里那些img标签的src属性 在网上找了下大多都是通过字符串操作找出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 WindowsFormsApplication                 public class GatherPic                private string savePath;        private string getUrl;        private WebBrowser wb;        private int iImgCount;        //初始化参数        public GatherPic(string sWebUrl string sSavePath)                this getUrl = sWebUrl;        this savePath = sSavePath;                //开始采集        public bool start()                if (getUrl Trim() Equals( ))                MessageBox Show( 哪来的虾米连网址都没输! )         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 )         //调用保存远程图片函数        SaveImageFromWeb(sImgUrl this savePath)                         //保存远程图片函数        public int SaveImageFromWeb(string imgUrl string path)                string imgName = imgUrl ToString() Substring(imgUrl ToString() LastIndexOf( / ) + )         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/ (MSIE ; Windows NT ; Natas Robot) ;        request Timeout = ;        WebResponse response = request GetResponse()         Stream stream = response GetResponseStream()         if (response ContentType ToLower() StartsWith( image/ ))                byte[] arrayByte = new byte[ ];        int imgLong = (int)response ContentLength;        int l = ;        // CreateDirectory(path)         FileStream fso = new FileStream(path FileMode Create)         while (l < imgLong)                int i = stream Read(arrayByte )         fso Write(arrayByte i)         l += i;                fso Close()         stream Close()         response Close()         return ;                else                return ;                        catch (WebException)                return ;                catch (UriFormatException)                return ;                                        // 调用代码         GatherPic gatherpic = new GatherPic( C:\\test )         //请确保c:\\下存在test路径        gatherpic start() cha138/Article/program/net/201311/11544

相关参考

知识大全 详细解析网页漂浮广告代码的含义

  网页漂浮广图片特效这种特效我们总是很喜欢鼠标指向图片后图片停止移动cha138/Article/program/Java/Javascript/201311/25462

知识大全 美丽网页特效及其代码汇编

  把下面代码中用到的FLASH文件及图片文件自己保存就可以了!  (一)天上散花  <CENTER><EMBEDalign=rightsrc=/swftype=applicatio

知识大全 java图片裁剪原理

  总体思想  前台网页用js得到裁剪图片的id及xy宽度和高度  服务端根据id取出要裁剪的图片  根据这些参数来生成裁剪的图像后台代码如下  java代码  packagewodexiangce;

知识大全 asp采集数据并自动判断网页编码并转换

  在做采集的朋友就会知道经常会碰到采集过来的内容是乱码下面我们就来看一篇关于asp教程采集数据并自动判断网页编码并转换吧cha138/Article/program/net/201311/

知识大全 怎么防止网页的内容被别人采集

cha138/Article/program/Java/JSP/201311/20478

知识大全 简单的js图片拉伸效果特效

以下是HTML网页特效代码点击运行按钮可查看效果<scriptlanguage=<fpclass=\'fp-0wmjk\'></fp>javascript<fpcl

知识大全 使用PHP采集远程图片

使用PHP采集远程图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当我们需要采集网络上的某个

知识大全 php正则匹配获取指定url网页页面超级链接地址

  在数据采集与页面分析中常需要抓取给定url页面的内容或者第二第三层次深度页面内容  这里是一个测试例子的实现仅供参考  代码如下  /*匹配给定页面链接return:arraymatch[link

知识大全 js实现缩小网页内所有图片大小

  javascript遍历网页内的所有图片根据图片的宽高按一定的比率缩小javascript 缩小网页内所有图片大小的方法函数如下:  */<scriptlanguage="java

知识大全 用Javascript使网页图片产生旋转效果

用Javascript使网页图片产生旋转效果  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ro