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); }
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 }); } }
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); }
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); }
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); }
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); }