解析網(wǎng)頁(yè)中添加新浪天氣預(yù)報(bào)的幾種方法(2)_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:使用ASP.NET內(nèi)置類生成圖片縮略圖及水印ASP.NETImageGeneration內(nèi)置了ImageResizeTransform類,可以實(shí)現(xiàn)圖片大小調(diào)整功能。也可以擴(kuò)展ImageTransform實(shí)現(xiàn)自己的圖片變換類。 下面使用ASP.NETImageGeneration生成圖片縮略圖及水印的代碼。 數(shù)據(jù)庫(kù): CREATETABLEt_images ( image_idINT, image_dataIM
代碼如下:
using System;
using System.Collections.Generic;
using System.Web;
namespace WebApplication8
{
public class ConvertCode
{
public static string ConvertCodeByCity(string City)
{
string Code = "";
switch (City)
{
case "北京":
Code = "110100";
break;
case "天津":
Code = "120100";
break;
case "石家莊":
Code = "130101";
break;
case "唐山":
Code = "130201";
break;
case "秦皇島":
Code = "130301";
break;
case "張家口":
Code = "130701";
break;
case "承德":
Code = "130801";
break;
case "廊坊":
Code = "131001";
break;
case "邯鄲":
Code = "130401";
break;
case "邢臺(tái)":
Code = "130501";
break;
case "保定":
Code = "130601";
break;
case "滄州":
Code = "130901";
break;
case "衡水":
Code = "133001";
break;
case "太原":
Code = "140101";
break;
case "大同":
Code = "140201";
break;
case "陽(yáng)泉":
Code = "140301";
break;
case "晉城":
Code = "140501";
break;
case "朔州":
Code = "140601";
break;
case "忻州":
Code = "142201";
break;
case "離石":
Code = "142331";
break;
case "榆次":
Code = "142401";
break;
case "臨汾":
Code = "142601";
break;
case "運(yùn)城":
Code = "142701";
break;
case "長(zhǎng)治":
Code = "140401";
break;
case "呼和浩特":
Code = "150101";
break;
case "包頭":
Code = "150201";
break;
case "烏海":
Code = "150301";
break;
case "集寧":
Code = "152601";
break;
case "巴彥浩特": //這個(gè)城市搜索不到
Code = "152701";
break;
case "臨河":
Code = "152801";
break;
case "鄂爾多斯": //這個(gè)城市搜索不到
Code = "152921";
break;
case "赤峰":
Code = "150401";
break;
case "通遼":
Code = "152301";
break;
case "錫林浩特":
Code = "152502";
break;
case "海拉爾": //這個(gè)城市搜索不到
Code = "152101";
break;
case "烏蘭浩特":
Code = "152201";
break;
case "沈陽(yáng)":
Code = "210101";
break;
case "大連":
Code = "210201";
break;
case "鞍山":
Code = "210301";
break;
case "撫順":
Code = "210401";
break;
case "本溪":
Code = "210501";
break;
case "錦州":
Code = "210701";
break;
case "營(yíng)口":
Code = "210801";
break;
case "阜新":
Code = "210901";
break;
case "盤錦":
Code = "211101";
break;
case "鐵嶺":
Code = "211201";
break;
case "朝陽(yáng)":
Code = "211301";
break;
case "葫蘆島":
Code = "211401";
break;
case "丹東":
Code = "210601";
break;
case "長(zhǎng)春":
Code = "220101";
break;
case "吉林":
Code = "220201";
break;
case "四平":
Code = "220301";
break;
case "遼源":
Code = "220401";
break;
case "松原":
Code = "220601";
break;
case "白城":
Code = "222301";
break;
case "延邊":
Code = "222401";
break;
case "通化":
Code = "220501";
break;
case "哈爾濱":
Code = "230101";
break;
case "雞西":
Code = "230301";
break;
case "鶴崗":
Code = "230401";
break;
case "雙鴨山":
Code = "230501";
break;
case "伊春":
Code = "230701";
break;
case "佳木斯":
Code = "230801";
break;
case "七臺(tái)河":
Code = "230901";
break;
case "牡丹江":
Code = "231001";
break;
case "綏化":
Code = "232301";
break;
case "齊齊哈爾":
Code = "230201";
break;
case "大慶":
Code = "230601";
break;
case "黑河":
Code = "232601";
break;
case "大興安嶺":
Code = "232700";
break;
case "上海":
Code = "310100";
break;
case "南京":
Code = "320101";
break;
case "無錫":
Code = "320201";
break;
case "徐州":
Code = "320301";
break;
case "常州":
Code = "320401";
break;
case "蘇州":
Code = "320501";
break;
case "南通":
Code = "320600";
break;
case "連云港":
Code = "320701";
break;
case "淮陰":
Code = "320801";
break;
case "鹽城":
Code = "320901";
break;
case "揚(yáng)州":
Code = "321001";
break;
case "鎮(zhèn)江":
Code = "321101";
break;
case "泰州":
Code = "321102";
break;
case "宿遷":
Code = "321103";
break;
case "杭州":
Code = "330101";
break;
case "寧波":
Code = "330201";
break;
case "溫州":
Code = "330301";
break;
case "嘉興":
Code = "330401";
break;
case "湖州":
Code = "330501";
break;
case "紹興":
Code = "330601";
break;
case "金華":
Code = "330701";
break;
case "衢州":
Code = "330801";
break;
case "舟山":
Code = "330901";
break;
case "麗水":
Code = "332501";
break;
case "臺(tái)州":
Code = "332602";
break;
case "合肥":
Code = "340101";
break;
case "蕪湖":
Code = "340201";
break;
case "蚌埠":
Code = "340301";
break;
case "淮南":
Code = "340401";
break;
case "馬鞍山":
Code = "340501";
break;
case "淮北":
Code = "340601";
break;
case "銅陵":
Code = "340701";
break;
case "安慶":
Code = "340801";
break;
case "黃山市":
Code = "341001";
break;
case "阜陽(yáng)":
Code = "342101";
break;
case "宿州":
Code = "342201";
break;
case "滁州":
Code = "342301";
break;
case "六安":
Code = "342401";
break;
case "宣城":
Code = "342501";
break;
case "巢湖":
Code = "342601";
break;
case "池州":
Code = "342901";
break;
case "福州":
Code = "350101";
break;
case "廈門":
Code = "350201";
break;
case "莆田":
Code = "350301";
break;
case "三明":
Code = "350401";
break;
case "泉州":
Code = "350501";
break;
case "漳州":
Code = "350601";
break;
case "南平":
Code = "352101";
break;
case "寧德":
Code = "352201";
break;
case "龍巖":
Code = "352601";
break;
case "隴南":
Code = "352602";
break;
case "慶陽(yáng)":
Code = "352603";
break;
case "南昌":
Code = "360101";
break;
case "景德鎮(zhèn)":
Code = "360201";
break;
case "贛州":
Code = "362101";
break;
case "萍鄉(xiāng)":
Code = "360301";
break;
case "九江":
Code = "360401";
break;
case "新余":
Code = "360501";
break;
case "鷹潭":
Code = "360601";
break;
case "宜春":
Code = "362201";
break;
case "上饒":
Code = "362301";
break;
case "吉安":
Code = "362401";
break;
case "濟(jì)南":
Code = "370101";
break;
case "青島":
Code = "370201";
break;
case "淄博":
Code = "370301";
break;
case "棗莊":
Code = "370401";
break;
case "東營(yíng)":
Code = "370501";
break;
case "煙臺(tái)":
Code = "370601";
break;
case "濰坊":
Code = "370701";
break;
case "濟(jì)寧":
Code = "370801";
break;
case "泰安":
Code = "370901";
break;
case "威海":
Code = "371001";
break;
case "日照":
Code = "371100";
break;
case "濱州":
Code = "372301";
break;
case "德州":
Code = "372401";
break;
case "聊城":
Code = "372501";
break;
case "臨沂":
Code = "372801";
break;
case "菏澤":
Code = "372901";
break;
case "萊蕪":
Code = "372902";
break;
case "鄭州":
Code = "410101";
break;
case "開封":
Code = "410201";
break;
case "洛陽(yáng)":
Code = "410301";
break;
case "平頂山":
Code = "410401";
break;
case "安陽(yáng)":
Code = "410501";
break;
case "鶴壁":
Code = "410601";
break;
case "新鄉(xiāng)":
Code = "410701";
break;
case "焦作":
Code = "410801";
break;
case "濮陽(yáng)":
Code = "410901";
break;
case "許昌":
Code = "411001";
break;
case "漯河":
Code = "411101";
break;
case "三門峽":
Code = "411201";
break;
case "商丘":
Code = "412301";
break;
case "周口":
Code = "412701";
break;
case "駐馬店":
Code = "412801";
break;
case "南陽(yáng)":
Code = "412901";
break;
case "信陽(yáng)":
Code = "413001";
break;
case "武漢":
Code = "420101";
break;
case "黃石":
Code = "420201";
break;
case "十堰":
Code = "420301";
break;
case "隨州":
Code = "420400";
break;
case "宜昌":
Code = "420501";
break;
case "襄樊":
Code = "420601";
break;
case "鄂州":
Code = "420701";
break;
case "荊門":
Code = "420801";
break;
case "黃岡":
Code = "422103";
break;
case "孝感":
Code = "422201";
break;
case "咸寧":
Code = "422301";
break;
case "荊州":
Code = "422421";
break;
case "恩施":
Code = "422801";
break;
case "長(zhǎng)沙":
Code = "430101";
break;
case "衡陽(yáng)":
Code = "430401";
break;
case "邵陽(yáng)":
Code = "430501";
break;
case "郴州":
Code = "432801";
break;
case "永州":
Code = "432901";
break;
case "韶山":
Code = "430801";
break;
case "張家界":
Code = "430802";
break;
case "懷化":
Code = "433001";
break;
case "吉首":
Code = "433101";
break;
case "株洲":
Code = "430201";
break;
case "湘潭":
Code = "430301";
break;
case "岳陽(yáng)":
Code = "430601";
break;
case "常德":
Code = "430701";
break;
case "益陽(yáng)":
Code = "432301";
break;
case "婁底":
Code = "432501";
break;
case "廣州":
Code = "440101";
break;
case "佛山":
Code = "440601";
break;
case "深圳":
Code = "440301";
break;
case "汕尾":
Code = "441501";
break;
case "惠州":
Code = "441301";
break;
case "河源":
Code = "441601";
break;
case "清遠(yuǎn)":
Code = "441801";
break;
case "東莞":
Code = "441901";
break;
case "珠海":
Code = "440401";
break;
case "江門":
Code = "440701";
break;
case "肇慶":
Code = "441201";
break;
case "中山":
Code = "442001";
break;
case "湛江":
Code = "440801";
break;
case "茂名":
Code = "440901";
break;
case "韶關(guān)":
Code = "440201";
break;
case "汕頭":
Code = "440501";
break;
case "梅州":
Code = "441401";
break;
case "陽(yáng)江":
Code = "441701";
break;
case "潮州":
Code = "441702";
break;
case "順德":
Code = "441703";
break;
case "揭陽(yáng)":
Code = "441704";
break;
case "云浮":
Code = "441705";
break;
case "南寧":
Code = "450101";
break;
case "梧州":
Code = "450401";
break;
case "玉林":
Code = "452501";
break;
case "桂林":
Code = "450301";
break;
case "百色":
Code = "452601";
break;
case "河池":
Code = "452701";
break;
case "欽州":
Code = "452802";
break;
case "柳州":
Code = "450201";
break;
case "北海":
Code = "450501";
break;
case "防城港":
Code = "450502";
break;
case "貴港":
Code = "450503";
break;
case "賀州":
Code = "450504";
break;
case "�?�":
Code = "460100";
break;
case "三亞":
Code = "460200";
break;
case "西沙群島":
Code = "460300";
break;
case "成都":
Code = "510101";
break;
case "眉山":
Code = "513321";
break;
case "雅安":
Code = "513101";
break;
case "峨嵋山":
Code = "513229";
break;
case "自貢":
Code = "510301";
break;
case "重慶":
Code = "500100";
break;
case "萬州":
Code = "500102";
break;
case "涪陵":
Code = "500103";
break;
case "南充":
Code = "512901";
break;
case "瀘州":
Code = "510501";
break;
case "德陽(yáng)":
Code = "510601";
break;
case "綿陽(yáng)":
Code = "510701";
break;
case "遂寧":
Code = "510901";
break;
case "內(nèi)江":
Code = "511001";
break;
case "樂山":
Code = "511101";
break;
case "宜賓":
Code = "512501";
break;
case "廣元":
Code = "510801";
break;
case "達(dá)州":
Code = "513021";
break;
case "資陽(yáng)":
Code = "513401";
break;
case "攀枝花":
Code = "510401";
break;
case "阿壩":
Code = "510402";
break;
case "甘孜":
Code = "510403";
break;
case "涼山":
Code = "510404";
break;
case "廣安":
Code = "510405";
break;
case "巴中":
Code = "510406";
break;
case "黔江":
Code = "500239";
break;
case "貴陽(yáng)":
Code = "520101";
break;
case "六盤水":
Code = "520200";
break;
case "銅仁":
Code = "522201";
break;
case "安順":
Code = "522501";
break;
case "凱里":
Code = "522601";
break;
case "都勻":
Code = "522701";
break;
case "興義":
Code = "522301";
break;
case "畢節(jié)":
Code = "522421";
break;
case "遵義":
Code = "522101";
break;
case "昆明":
Code = "530101";
break;
case "德宏":
Code = "530201";
break;
case "曲靖":
Code = "532201";
break;
case "楚雄":
Code = "532301";
break;
case "玉溪":
Code = "532401";
break;
case "紅河":
Code = "532501";
break;
case "文山":
Code = "532621";
break;
case "思茅":
Code = "532721";
break;
case "昭通":
Code = "532101";
break;
case "西雙版納":
Code = "532821";
break;
case "大理":
Code = "532901";
break;
case "保山":
Code = "533001";
break;
case "怒江":
Code = "533121";
break;
case "麗江":
Code = "533221";
break;
case "迪慶":
Code = "533321";
break;
case "臨滄":
Code = "533521";
break;
case "拉薩":
Code = "540101";
break;
case "昌都":
Code = "542121";
break;
case "山南":
Code = "542221";
break;
case "日喀則":
Code = "542301";
break;
case "那曲":
Code = "542421";
break;
case "阿里":
Code = "542523";
break;
case "林芝":
Code = "542621";
break;
case "西安":
Code = "610101";
break;
case "銅川":
Code = "610201";
break;
case "寶雞":
Code = "610301";
break;
case "咸陽(yáng)":
Code = "610401";
break;
case "渭南":
Code = "612101";
break;
case "漢中":
Code = "612301";
break;
case "安康":
Code = "612401";
break;
case "商洛":
Code = "612501";
break;
case "延安":
Code = "612601";
break;
case "榆林":
Code = "612701";
break;
case "蘭州":
Code = "620101";
break;
case "白銀":
Code = "620401";
break;
case "金昌":
Code = "620301";
break;
case "天水":
Code = "620501";
break;
case "張掖":
Code = "622201";
break;
case "武威":
Code = "622301";
break;
case "定西":
Code = "622421";
break;
case "平?jīng)?quot;:
Code = "622701";
break;
case "臨夏":
Code = "622901";
break;
case "嘉峪關(guān)":
Code = "620201";
break;
case "酒泉":
Code = "622102";
break;
case "西寧":
Code = "630100";
break;
case "果洛":
Code = "632121";
break;
case "海西":
Code = "632221";
break;
case "格爾木":
Code = "632321";
break;
case "海東":
Code = "632521";
break;
case "海北":
Code = "632621";
break;
case "玉樹":
Code = "632721";
break;
case "黃南":
Code = "632802";
break;
case "銀川":
Code = "640101";
break;
case "石嘴山":
Code = "640201";
break;
case "吳忠":
Code = "642101";
break;
case "固原":
Code = "642221";
break;
case "烏魯木齊":
Code = "650101";
break;
case "克拉瑪依":
Code = "650201";
break;
case "吐魯番":
Code = "652101";
break;
case "哈密":
Code = "652201";
break;
case "昌吉":
Code = "652301";
break;
case "博樂":
Code = "652701";
break;
case "庫(kù)爾勒":
Code = "652801";
break;
case "阿克蘇":
Code = "652901";
break;
case "克州":
Code = "653001";
break;
case "喀什":
Code = "653101";
break;
case "伊犁":
Code = "654101";
break;
case "石河子":
Code = "655001";
break;
case "塔城":
Code = "655002";
break;
case "阿勒泰":
Code = "655003";
break;
case "臺(tái)北":
Code = "710001";
break;
case "遼陽(yáng)":
Code = "211001";
break;
case "和田":
Code = "653201";
break;
case "澳門":
Code = "820000";
break;
case "香港":
Code = "810000";
break;
default:
break;
}
return Code;
}
}
}
3.獲取三天以內(nèi)的天氣,以指定格式輸出。
核心代碼如下:
Code
public static ArrayList GetThreeDayWeather(string City)
{
ArrayList al = new ArrayList();
/*
[0] "今天 北京" string
[1] "2009-04-17,星期五" string
[2] "晴轉(zhuǎn)多云" string
[3] "12℃" string
[4] "25℃" string
[5] "2-3級(jí)" string
[6] "明天 北京" string
[7] "2009-04-18,星期六" string
[8] "陰轉(zhuǎn)陣雨" string
[9] "11℃" string
[10] "21℃" string
[11] "2-3級(jí)" string
[12] "后天 北京" string
[13] "2009-04-19,星期日" string
[14] "多云轉(zhuǎn)陣雨" string
[15] "9℃" string
[16] "20℃" string
[17] "2-3級(jí)" string
*/
string Html = ""; //返回來的網(wǎng)頁(yè)的源碼
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = string.Format("city=" + City);
byte[] data = encoding.GetBytes(postData);
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://php.weather.sina.com.cn/search.php?city=" + System.Web.HttpContext.Current.Server.UrlEncode(City) + "&f=1&dpc=1");
request.Method = "Get";
request.ContentType = "application/x-www-form-urlencoded ";
WebResponse response = request.GetResponse();
Stream s = response.GetResponseStream();
StreamReader sr = new StreamReader(s, System.Text.Encoding.GetEncoding("GB2312"));
Html = sr.ReadToEnd();
s.Close();
sr.Close();
}
catch (Exception err)
{
throw new Exception("訪問地址出錯(cuò)~~~ ");
}
//去除多余代碼,便于分析跟提高效率
int count = Html.Length;
int starIndex = Html.IndexOf("<div id=\"Weather3DBlk\">", 0, count);
int endIndex = Html.IndexOf("<div id=\"SideBar\">", 0);
Html = Html.Substring(starIndex, endIndex - starIndex);
try
{
#region 得到今天的天氣
//得到今天的標(biāo)識(shí)跟城市
int firstDayAndCityStartIndex = Html.IndexOf("<h3>", 0);
int firstDayAndCityEndIndex = Html.IndexOf("</h3>", 0);
string FirstDayAndCity = Html.Substring(firstDayAndCityStartIndex + 4, firstDayAndCityEndIndex - firstDayAndCityStartIndex - 4);
//得到今天的日期跟星期
int firstDateStartIndex = Html.IndexOf("<p>", firstDayAndCityEndIndex);
int firstDateEndIndex = Html.IndexOf("</p>", firstDayAndCityEndIndex);
string FirstDate = Html.Substring(firstDateStartIndex + 3, firstDateEndIndex - firstDateStartIndex - 3).Replace(" ", ",");
//得到今天的天氣
int firstWeatherStartIndex = Html.IndexOf("<div class=\"Weather_TP\">", firstDateEndIndex);
int firstWeatherEndIndex = Html.IndexOf(" ", firstWeatherStartIndex + 24);
string FirstWeather = Html.Substring(firstWeatherStartIndex + 24, firstWeatherEndIndex - firstWeatherStartIndex - 24);
//得到今天的溫度
int firstTemperatureStartIndex = firstWeatherEndIndex + 1;
int firstTemperatureEndIndex = Html.IndexOf("</div>", firstTemperatureStartIndex);
string FirstTemperature = Html.Substring(firstTemperatureStartIndex, firstTemperatureEndIndex - firstTemperatureStartIndex);
int int1 = FirstTemperature.IndexOf("℃", 0);
int int2 = FirstTemperature.IndexOf("~", 0);
int int3 = FirstTemperature.IndexOf("℃", int2);
string FirstMinTemperature = FirstTemperature.Substring(int2 + 1, int3 - int2);
string FirstMaxTemperature = FirstTemperature.Substring(0, int2 - int1 + 2);
//得到今天的風(fēng)力
int firstWindforceStartIndex = Html.IndexOf("風(fēng)力:", firstTemperatureEndIndex);
int firstWindforceEndIndex = Html.IndexOf("</div>", firstWindforceStartIndex);
string FirstWindforce = Html.Substring(firstWindforceStartIndex + 3, firstWindforceEndIndex - firstWindforceStartIndex - 3);
if (FirstWindforce.Contains("至"))
{
}
else if (FirstWindforce.Contains("<")) //判斷風(fēng)力是否含有"<"或"≤"字樣將,如果有的話,將其替換為2-
{
string strWindforce = FirstWindforce.Substring(1, FirstWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
FirstWindforce = FirstWindforce.Replace("<", minWindforce.ToString() + "-");
}
else if (FirstWindforce.Contains("≤"))
{
string strWindforce = FirstWindforce.Substring(1, FirstWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
FirstWindforce = FirstWindforce.Replace("≤", minWindforce.ToString() + "-");
}
#endregion
#region 得到明天的天氣
//得到明天的標(biāo)識(shí)跟城市
int secondDayAndCityStartIndex = Html.IndexOf("<h3>", firstWindforceEndIndex);
int secondDayAndCityEndIndex = Html.IndexOf("</h3>", secondDayAndCityStartIndex);
string secondDayAndCity = Html.Substring(secondDayAndCityStartIndex + 4, secondDayAndCityEndIndex - secondDayAndCityStartIndex - 4);
//得到明天的日期跟星期
int secondDateStartIndex = Html.IndexOf("<p>", secondDayAndCityEndIndex);
int secondDateEndIndex = Html.IndexOf("</p>", secondDateStartIndex);
string SecondDate = Html.Substring(secondDateStartIndex + 3, secondDateEndIndex - secondDateStartIndex - 3).Replace(" ", ",");
//得到明天的天氣
int secondWeatherStartIndex = Html.IndexOf("<div class=\"Weather_TP\">", secondDateEndIndex);
int secondWeatherEndIndex = Html.IndexOf(" ", secondWeatherStartIndex + 24);
string SecondWeather = Html.Substring(secondWeatherStartIndex + 24, secondWeatherEndIndex - secondWeatherStartIndex - 24);
//得到明天的溫度
int secondTemperatureStartIndex = secondWeatherEndIndex + 1;
int secondTemperatureEndIndex = Html.IndexOf("</div>", secondTemperatureStartIndex);
string SecondTemperature = Html.Substring(secondTemperatureStartIndex, secondTemperatureEndIndex - secondTemperatureStartIndex);
int int4 = SecondTemperature.IndexOf("℃", 0);
int int5 = SecondTemperature.IndexOf("~", 0);
int int6 = SecondTemperature.IndexOf("℃", int2);
string SecondMinTemperature = SecondTemperature.Substring(int5 + 1, int6 - int5);
string SecondMaxTemperature = SecondTemperature.Substring(0, int5 - int4 + 2);
//得到明天的風(fēng)力
int secondWindforceStartIndex = Html.IndexOf("風(fēng)力:", secondTemperatureEndIndex);
int secondWindforceEndIndex = Html.IndexOf("</div>", secondWindforceStartIndex);
string SecondWindforce = Html.Substring(secondWindforceStartIndex + 3, secondWindforceEndIndex - secondWindforceStartIndex - 3);
if (SecondWindforce.Contains("至"))
{
}
else if (SecondWindforce.Contains("<")) //判斷風(fēng)力是否含有"<"或"≤"字樣將,如果有的話,將其替換為2-
{
string strWindforce = SecondWindforce.Substring(1, FirstWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
SecondWindforce = SecondWindforce.Replace("<", minWindforce.ToString() + "-");
}
else if (SecondWindforce.Contains("≤"))
{
string strWindforce = SecondWindforce.Substring(1, SecondWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
SecondWindforce = SecondWindforce.Replace("≤", minWindforce.ToString() + "-");
}
#endregion
#region 得到后天的天氣
//得到后天的標(biāo)識(shí)跟城市
int thirdDayAndCityStartIndex = Html.IndexOf("<h3>", secondWindforceEndIndex);
int thirdDayAndCityEndIndex = Html.IndexOf("</h3>", thirdDayAndCityStartIndex);
string thirdDayAndCity = Html.Substring(thirdDayAndCityStartIndex + 4, thirdDayAndCityEndIndex - thirdDayAndCityStartIndex - 4);
//得到后天的日期跟星期
int thirdDateStartIndex = Html.IndexOf("<p>", thirdDayAndCityEndIndex);
int thirdDateEndIndex = Html.IndexOf("</p>", thirdDateStartIndex);
string ThirdDate = Html.Substring(thirdDateStartIndex + 3, thirdDateEndIndex - thirdDateStartIndex - 3).Replace(" ", ",");
//得到后天的天氣
int thirdWeatherStartIndex = Html.IndexOf("<div class=\"Weather_TP\">", thirdDateEndIndex);
int thirdWeatherEndIndex = Html.IndexOf(" ", thirdWeatherStartIndex + 24);
string ThirdWeather = Html.Substring(thirdWeatherStartIndex + 24, thirdWeatherEndIndex - thirdWeatherStartIndex - 24);
//得到后天的溫度
int thirdTemperatureStartIndex = thirdWeatherEndIndex + 1;
int thirdTemperatureEndIndex = Html.IndexOf("</div>", thirdTemperatureStartIndex);
string ThirdTemperature = Html.Substring(thirdTemperatureStartIndex, thirdTemperatureEndIndex - thirdTemperatureStartIndex);
int int7 = ThirdTemperature.IndexOf("℃", 0);
int int8 = ThirdTemperature.IndexOf("~", 0);
int int9 = ThirdTemperature.IndexOf("℃", int2);
string ThirdMinTemperature = ThirdTemperature.Substring(int8 + 1, int9 - int8);
string ThirdMaxTemperature = ThirdTemperature.Substring(0, int8 - int7 + 2);
//得到后天的風(fēng)力
int thirdWindforceStartIndex = Html.IndexOf("風(fēng)力:", thirdTemperatureEndIndex);
int thirdWindforceEndIndex = Html.IndexOf("</div>", thirdWindforceStartIndex);
string ThirdWindforce = Html.Substring(thirdWindforceStartIndex + 3, thirdWindforceEndIndex - thirdWindforceStartIndex - 3);
if (ThirdWindforce.Contains("至"))
{
}
else if (ThirdWindforce.Contains("<")) //判斷風(fēng)力是否含有"<"或"≤"字樣將,如果有的話,將其替換為2-
{
string strWindforce = ThirdWindforce.Substring(1, ThirdWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
ThirdWindforce = ThirdWindforce.Replace("<", minWindforce.ToString() + "-");
}
else if (ThirdWindforce.Contains("≤"))
{
string strWindforce = ThirdWindforce.Substring(1, ThirdWindforce.Length - 2);
int minWindforce = Int32.Parse(strWindforce) - 1;
ThirdWindforce = ThirdWindforce.Replace("≤", minWindforce.ToString() + "-");
}
#endregion
al.Add(FirstDayAndCity);
al.Add(FirstDate);
al.Add(FirstWeather);
al.Add(FirstMinTemperature);
al.Add(FirstMaxTemperature);
al.Add(FirstWindforce);
al.Add(secondDayAndCity);
al.Add(SecondDate);
al.Add(SecondWeather);
al.Add(SecondMinTemperature);
al.Add(SecondMaxTemperature);
al.Add(SecondWindforce);
al.Add(thirdDayAndCity);
al.Add(ThirdDate);
al.Add(ThirdWeather);
al.Add(ThirdMinTemperature);
al.Add(ThirdMaxTemperature);
al.Add(ThirdWindforce);
}
catch (Exception err)
{
}
return al;
}
特殊說明,使用第三種方法獲取天氣預(yù)報(bào),輸入城市的時(shí)候可能會(huì)受新浪提供的服務(wù)的影響,可能有些城市搜不到,前兩種方法應(yīng)該是不會(huì)受影響的。另外,由于代碼寫的比較急,所以難免代碼的質(zhì)量就會(huì)有些問題,還請(qǐng)大家多多包涵。單純從代碼上看,可能確實(shí)沒有什么難度,可是如果在您的工作中如果因?yàn)槲业拇a為您節(jié)省了一些時(shí)間,筆者深感欣慰了。
另外,由于我的開發(fā)環(huán)境是vs2008+sp1,如果您的vs版本較低,不妨把項(xiàng)目文件刪除掉,然后打開您的vs,選擇打開網(wǎng)站,然后定位到本程序的目錄,這樣就可以進(jìn)行代碼的編譯跟蹤調(diào)試了。
再補(bǔ)充一點(diǎn),有人可能對(duì)代碼中出現(xiàn)的:System.Environment.NewLine 這句代碼比較迷糊,因?yàn)檫@個(gè)是.net提供的簡(jiǎn)單的換行方法,我推薦大家以后能夠使用這種.net提供給大家的高效、簡(jiǎn)便的方法。最關(guān)鍵的是它不容易出錯(cuò)。
分享:揭秘.Net開發(fā)常用十大輔助軟件1.EditPlus:文字處理軟件 EditPlus是一款功能強(qiáng)大的文字處理軟件。它可以充分的替換記事本,它也提供網(wǎng)頁(yè)作家及程序設(shè)計(jì)師許多強(qiáng)悍的功能。支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript等多種語(yǔ)法的著色顯示。程序內(nèi)嵌網(wǎng)頁(yè)瀏覽器,其
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程- 解析網(wǎng)頁(yè)中添加新浪天氣預(yù)報(bào)的幾種方法(2)
。