⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.aspx.cs

📁 抓图小程序 c#写的 能抓到一个网页内所有图片 不过先要进到最后一层=。=
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text.RegularExpressions;
using System.Text;
using System.IO;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //获取网站的源文件的内容
        string httptext = GetHttpData("http://pp.sohu.com/photosetview-25349899-23347822.html");
        //获取图片路径的正则表达试
        string temp = "http://\\d{3,4}.img.pp.sohu.com.cn/images/\\d{4}/\\d{1,2}/\\d{1,2}/\\d{1,2}/\\d{1,2}/\\w{11}.jpg";
        do
        {
            //获取图片的路径
            string imgurl = Regex.Match(httptext, temp, RegexOptions.IgnoreCase).Value;
            int begin = httptext.IndexOf(imgurl);
            if (!imgurl.Equals(""))
            {
                //截取剩下的源文件内容
                httptext = httptext.Substring(begin + (imgurl.Length));
                Crtimg(imgurl);
            }
            else
            {
                break;
            }
        } while (true);
    }

    /// <summary>
    /// 以下代码实现远程保存图片
    /// </summary>
    /// <returns></returns>
    private void Crtimg(string imgurl)
    {
        //随机产生一个名字
        Random r = new Random();
        string a = "B"+(r.Next(10)*100000+r.Next(10)*10000+r.Next(10)*1000+r.Next(10)*100+r.Next(10)*10+r.Next(10));
        
        string loadimg = "D:\\test\\"+ a +".jpg";
        System.Net.WebClient WC = new WebClient();
        WC.DownloadFile(imgurl, loadimg);
        WC.Dispose();  
    }

    /// <summary>
    /// 以下代码是实现获取网页源文件的方法
    /// </summary>
    /// <param name="Url">网页的URL</param>
    /// <returns></returns>
    public string GetHttpData(string Url)
    {
        string sException = null;
        string sRslt = null;
        WebResponse oWebRps = null;
        WebRequest oWebRqst = WebRequest.Create(Url);
        oWebRqst.Timeout = 50000;


        try
        {
            oWebRps = oWebRqst.GetResponse();
        }
        catch (WebException e)
        {
            sException = e.Message.ToString();
            //EYResponse.Write(sException);
        }
        catch (Exception e)
        {
            sException = e.ToString();
            //EYResponse.Write(sException);
        }

        finally
        {
            if (oWebRps != null)
            {
                StreamReader oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("GB2312"));
                sRslt = oStreamRd.ReadToEnd();
                oStreamRd.Close();
                oWebRps.Close();
            }
        }
        return sRslt;
    }

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -