Exemplo n.º 1
0
        private void getSoDownword(string key)
        {
            string url    = "http://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word,obdata&word=" + key;
            string source = getHtmlInfo(url);

            string[] su = source.Split('[')[1].Split(']')[0].Split(',');
            foreach (string item in su)
            {
                string str = item.Trim().Replace("{\"word\":\"", "").Replace("\"}", "");
                if (MatchInclude(str) && MatchNoInclude(str) && MatchDataTable(str))
                {
                    dt1.Rows.Add(new object[4] {
                        id++, key, str, "So"
                    });
                    //if (iscycle == true)
                    //{
                    //    OutDelegateAdd adddelegate = new OutDelegateAdd(AddTvKey);
                    //    this.Dispatcher.BeginInvoke(adddelegate, new object[] { str, "So" });
                    //}
                    OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                    this.Dispatcher.BeginInvoke(adddelegate, new object[4] {
                        id, str, key, "So"
                    });
                }
            }

            y++;
            OutDelegateNew outdelegate = new OutDelegateNew(OutTextNew);

            this.Dispatcher.BeginInvoke(outdelegate, new object[] { key, "So" });
            Thread.Sleep(500);
        }
Exemplo n.º 2
0
        private void GetWebImage(string imgurl, string filepath, string savepath)
        {
            WebClient mywebclient = new WebClient();

            try
            {
                mywebclient.DownloadFile(imgurl, filepath);
                string log = "#" + imgurl + "下载完成!\r\n";
                if (UrlLog)
                {
                    log = "#" + imgurl + "--->" + savepath + "下载完成!\r\n";
                }
                OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                    log
                });
            }
            catch
            {
                string          log         = "#" + imgurl + "未找到文件!\r\n";
                OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                    log
                });
            }
        }
Exemplo n.º 3
0
        private void getTaobaoDownword(string key)
        {
            string url        = "http://suggest.taobao.com/sug?code=utf-8&q=" + System.Net.WebUtility.UrlEncode(key) + "&_ksTS=1412814635814_1642&callback=jsonp1643&k=1&area=c2c&bucketid=7";
            string source     = getHtmlInfo(url);
            int    startindex = source.IndexOf(":[");
            int    lastindex  = source.LastIndexOf("],\"magic\"");
            string taobao     = "";

            string[] su = null;
            try
            {
                taobao = source.Substring(startindex + 2, lastindex - startindex - 2).Replace("\",\"", ",").Replace("\"],[\"", ",").Replace("[\"", "").Replace("\"]", "");
                su     = taobao.Split(',');
            }
            catch
            {
            }
            int i = 1;

            if (su != null)
            {
                foreach (string item in su)
                {
                    if (i % 2 == 1)
                    {
                        string str = Common.StripHT(item.Trim());
                        if (MatchInclude(str) && MatchNoInclude(str) && MatchDataTable(str))
                        {
                            dt1.Rows.Add(new object[4] {
                                id++, key, str, "Taobao"
                            });
                            //if (iscycle == true)
                            //{
                            //    OutDelegateAdd adddelegate = new OutDelegateAdd(AddTvKey);
                            //    this.Dispatcher.BeginInvoke(adddelegate, new object[] { str, "Baidu" });
                            //}
                            OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                            this.Dispatcher.BeginInvoke(adddelegate, new object[4] {
                                id, str, key, "Taobao"
                            });
                        }
                    }
                    i++;
                }
            }

            y++;
            OutDelegateNew outdelegate = new OutDelegateNew(OutTextNew);

            this.Dispatcher.BeginInvoke(outdelegate, new object[] { key, "Taobao" });
            Thread.Sleep(500);
        }
Exemplo n.º 4
0
        private void getSogouDownword(string key)
        {
            string url    = "http://w.sugg.sogou.com/sugg/ajaj_json.jsp?key=" + key + "&type=web&ori=yes&pr=web&abtestid=8&ipn=";
            string source = getHtmlInfo(url);

            string[] su = null;
            try
            {
                su = source.Split('[')[2].Split(']')[0].Split(',');
            }
            catch
            {
            }
            if (su != null)
            {
                foreach (string item in su)
                {
                    string str = item.Trim().Replace("\"", "");
                    if (MatchInclude(str) && MatchNoInclude(str) && MatchDataTable(str))
                    {
                        dt1.Rows.Add(new object[4] {
                            id++, key, str, "Sogou"
                        });
                        //if (iscycle == true)
                        //{
                        //    OutDelegateAdd adddelegate = new OutDelegateAdd(AddTvKey);
                        //    this.Dispatcher.BeginInvoke(adddelegate, new object[] { str, "Sogou" });
                        //}
                        OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                        this.Dispatcher.BeginInvoke(adddelegate, new object[4] {
                            id, str, key, "Sogou"
                        });
                    }
                }
            }

            y++;
            OutDelegateNew outdelegate = new OutDelegateNew(OutTextNew);

            this.Dispatcher.BeginInvoke(outdelegate, new object[] { key, "Sogou" });
            Thread.Sleep(500);
        }
Exemplo n.º 5
0
        private void getBaiduDownword2(string key)
        {
            string url    = "http://suggestion.baidu.com/su?wd=" + System.Net.WebUtility.UrlEncode(key) + "&sugmode=2&zxmode=1&json=1&p=3";
            string source = getHtmlInfo(url);

            //写入文件
            //string filename = "downword\\su.txt";
            //StreamWriter sw = new StreamWriter(filename);//文件保存位置
            //sw.Write(source);
            //sw.Close();
            string[] su = source.Split('[')[1].Split(']')[0].Split(',');
            foreach (string item in su)
            {
                string str = item.Trim().Replace("\"", "");
                if (MatchInclude(str) && MatchNoInclude(str) && MatchDataTable(str))
                {
                    dt1.Rows.Add(new object[4] {
                        id++, str, key, "Baidu"
                    });
                    //if (iscycle == true)
                    //{
                    //    OutDelegateAdd adddelegate = new OutDelegateAdd(AddTvKey);
                    //    this.Dispatcher.BeginInvoke(adddelegate, new object[] { str, "Baidu" });
                    //}
                    OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);
                    this.Dispatcher.BeginInvoke(adddelegate, new object[4] {
                        id, str, key, "Baidu"
                    });
                }
            }

            y++;
            OutDelegateNew outdelegate = new OutDelegateNew(OutTextNew);

            this.Dispatcher.BeginInvoke(outdelegate, new object[] { key, "Baidu" });
            Thread.Sleep(500);
        }
Exemplo n.º 6
0
        public void Down()
        {
            //初始化
            imgList.Clear();
            cssList.Clear();
            jsList.Clear();
            swfList.Clear();
            imgListB.Clear();
            cssListB.Clear();
            jsListB.Clear();
            swfListB.Clear();
            cssListC.Clear();
            imgListC.Clear();
            jsListC.Clear();
            swfListC.Clear();
            cssListD.Clear();

            OutDelegateButtonDown downdelegate = new OutDelegateButtonDown(OutDelegateDown);

            this.Dispatcher.BeginInvoke(downdelegate);
            OutDelegateAddO adddelegate = new OutDelegateAddO(OutTextAddO);

            log = "#程序开始运行...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            log = "#开始下载网页:" + url + "\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            try
            {
                result = GetWebClient(url);
                //StreamWriter sw = new StreamWriter(filename, false, Encoding.GetEncoding(encodingstr));
                //sw.Write(result);
                //sw.Close();
            }
            catch (Exception ex)
            {
                txtLog.Text += ex.Message + "\r\n";
                return;
            }
            log = "#下载网页:" + url + "完成!\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            log = "#开始下载其它网页文件:\r\n#开始获取CSS文件地址,如果网页较大,请耐心等待!\r\n#开始获取JS文件地址,如果网页较大,请耐心等待!\r\n#开始获取IMG文件地址,如果网页较大,请耐心等待!\r\n#开始获取CSS背景图片地址,如果网页较大,请耐心等待!\r\n#开始获取SWF文件地址,如果网页较大,请耐心等待!\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });

            domain = "http://" + GetUrlDomainName(url);
            //下载CSS
            log = "#开始下载CSS文件...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            cssList = getLinkHref(result);
            foreach (string src in cssList)
            {
                GetWebImage(src, foldername + "\\css" + "\\" + GetUrlFileName(src), "css/" + GetUrlFileName(src));
                cssListC.Add("css/" + GetUrlFileName(src));
            }



            ConvertToAbsoluteUrls(result, new Uri(domain));

            //新方法
            log = "#开始下载IMG图片...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            foreach (string src in imgList)
            {
                GetWebImage(src, foldername + "\\images" + "\\" + GetUrlFileName(src), "images/" + GetUrlFileName(src));
                imgListC.Add("images/" + GetUrlFileName(src));
            }
            log = "#开始下载JS文件...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            foreach (string src in jsList)
            {
                GetWebImage(src, foldername + "\\js" + "\\" + GetUrlFileName(src), "js/" + GetUrlFileName(src));
                jsListC.Add("js/" + GetUrlFileName(src));
            }
            log = "#开始下载SWF文件...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            foreach (string src in swfList)
            {
                GetWebImage(src, foldername + "\\swf" + "\\" + GetUrlFileName(src), "swf/" + GetUrlFileName(src));
                swfListC.Add("swf/" + GetUrlFileName(src));
            }

            log = "#开始下载CSS文件内背景图片...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            foreach (string src in cssList)
            {
                string          path     = src.Replace(GetUrlFileName(src), "");
                string          cssstr   = GetWebClient(src);
                string          regexstr = "url\\(.*?\\)";
                Regex           r        = new Regex(regexstr, RegexOptions.IgnoreCase);
                MatchCollection mc       = r.Matches(cssstr);
                foreach (Match m in mc)
                {
                    string bgimg = path + m.Value.Replace("url(", "").Replace(")", "");
                    if (!cssListD.Contains(bgimg))
                    {
                        cssListD.Add(bgimg);
                    }
                }
            }
            foreach (string src in cssListD)
            {
                GetWebImage(src, foldername + "\\images" + "\\" + GetUrlFileName(src), "images/" + GetUrlFileName(src));
            }

            log = "#开始本地化文件...\r\n";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            for (int i = 0; i < cssListC.Count; i++)
            {
                result = result.Replace(cssListB[i], cssListC[i]);
            }
            for (int i = 0; i < imgList.Count; i++)
            {
                result = result.Replace(imgListB[i], imgListC[i]);
            }
            for (int i = 0; i < jsList.Count; i++)
            {
                result = result.Replace(jsListB[i], jsListC[i]);
            }
            for (int i = 0; i < swfList.Count; i++)
            {
                result = result.Replace(swfListB[i], swfListC[i]);
            }

            StreamWriter sw2 = new StreamWriter(filename, false, Encoding.GetEncoding(encodingstr));

            sw2.Write(result);
            sw2.Close();

            log = "#所有本地化文件完成!\r\n#运行完成!";
            this.Dispatcher.BeginInvoke(adddelegate, new object[1] {
                log
            });
            //修改下载按钮可视状态
            this.Dispatcher.BeginInvoke(downdelegate);
        }