抓图

来源:互联网 发布:php里面记录下载次数 编辑:程序博客网 时间:2024/04/28 07:33

        private void btnEnd_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

 

        private void button1_Click(object sender, EventArgs e)  
        {
            string connStr, selectCmd;
            connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb";
            selectCmd = "SELECT * FROM wtspic ";

            OleDbConnection conn;
            OleDbCommand cmd;
            OleDbDataReader myReader;
            conn = new OleDbConnection(connStr);
            conn.Open();
            cmd = new OleDbCommand(selectCmd, conn);
            myReader = cmd.ExecuteReader();
            rtbShow.Text="";
            while (myReader.Read())
            {
                string lcPurl=GetPicUrl(myReader["url"].ToString());

                int pStart = lcPurl.LastIndexOf("/20");
                string lcOldPic = lcPurl.Substring(pStart + 1, lcPurl.Length - pStart - 1);
                string lcNewPic = lcOldPic.Replace("/", "");

                if (lcNewPic.IndexOf(".jpg")>0)
                {
                    lcNewPic=lcNewPic.Substring(0,lcNewPic.Length-4);
                };

                selectCmd = "update wtspic set purl='" + lcPurl + "',pic='" + lcNewPic + "' where url='" + myReader["url"].ToString() + "'";
                cmd = new OleDbCommand(selectCmd, conn);
                cmd.ExecuteNonQuery();
                cmd = null;

                DownPic(lcPurl, lcNewPic);
                rtbShow.Text += myReader["url"] + "/t" + lcOldPic + "/t" + lcNewPic + "/n";
            };
            myReader.Close();
            conn.Close();
        }

 

        private void DownPic(string Url,string pcNewPic)  
        {
            WebRequest request = WebRequest.Create(Url);
            WebResponse response = request.GetResponse();
            Stream reader = response.GetResponseStream();

            FileStream writer = new FileStream("D://wtsjpg//" + pcNewPic+".jpg", FileMode.OpenOrCreate, FileAccess.Write);
            byte[] buff = new byte[512];
            int c = 0; //实际读取的字节数
            while ((c = reader.Read(buff, 0, buff.Length)) > 0)
            {
                writer.Write(buff, 0, c);
            }
            writer.Close();
        }

 

        private static string GetWebContent(string Url) 
        {
            string strResult = "";
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                //声明一个HttpWebRequest请求
                request.Timeout = 30000;
                //设置连接超时时间
                request.Headers.Set("Pragma", "no-cache");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamReceive = response.GetResponseStream();
                Encoding encoding = Encoding.GetEncoding("GB2312");
                StreamReader streamReader = new StreamReader(streamReceive, encoding);
                strResult = streamReader.ReadToEnd();
            }
            catch
            {
            }
            return strResult;
        }

 

        private string GetPicUrl(string Url) 
        {
            string strWebContent = GetWebContent(Url);

            int iTableStart = strWebContent.IndexOf("<center><a href=/"http://xxxxx.net/files/", 0);
            int iTableEnd = strWebContent.IndexOf("</a></center>", iTableStart);
            string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 13);

            iTableStart = strWeb.IndexOf("/"http://xxxxx.net/files/", 0) + 1;
            strWeb = strWeb.Substring(iTableStart, strWeb.Length - iTableStart - 1);

            iTableEnd = strWeb.IndexOf("/"", 0);
            strWeb = strWeb.Substring(0, iTableEnd);
            string picUrl = strWeb;

            return picUrl;
        }

原创粉丝点击