注:(不是原创,转别人的,用来学习交流的)
(备注:要引入命名空间
using System.Net;
using System.Text.RegularExpressions;
)
protected void On_Submit(object sender, EventArgs e)
{
string city = Request.Params["txtcity"].ToString();
string tqyb = "天气预报";
tqyb = HttpUtility.UrlEncode(tqyb, System.Text.Encoding.GetEncoding("gb2312"));
city = HttpUtility.UrlEncode(city, System.Text.Encoding.GetEncoding("gb2312"));
string url = string.Format("http://www.baidu.com/s?bs={0}+{1}f=8&wd={0}+{1}", tqyb, city);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
string html = reader.ReadToEnd();
string pattern = "<\\s*TABLE cellspacing=\"0\" cellpadding=\"0\" class=\"al_wt\">([\\s\\S]*?)<\\s*\\/TABLE\\s*>";
Regex reg = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection item = reg.Matches(html);
foreach (Match m in item)
{
html = m.Value;
}
Div_html.InnerHtml = html;
}
当city为空时,查询是你所在城市的天气,你所在城市计算方法应该是根据你的机子的IP来算的, 百度搜索用的是GB2312编码,所以利用HttpUtility.UrlEncode要做一个简单转换。
代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>天气预报</title>
<style type="text/css">
.al_wt
{
margin-top: 5px;
}
.al_wt td
{
font-size: 14px;
line-height: 22px;
text-align: center;
vertical-align: top;
}
.al_wt td img
{
margin: 5px 0;
width: 48px;
height: 48px;
border: none;
}
.al_wt td img.al_il
{
margin-right: 10px;
}
.al_wt td span
{
font-size: 13px;
}
.al_wt td div
{
text-align: center;
padding: 0 5px;
white-space: nowrap;
}
.al_wt .altime_special
{
white-space: nowrap;
}
.al_wt .altemp_special
{
font-size: 15px;
white-space: nowrap;
}
.al_wt .altd_normal strong
{
font-weight: normal;
font-size: 14px;
}
.al_wt .altd_normal .altime_special, .al_wt .altd_normal .altemp_special
{
white-space: normal;
}
.al_wt td.al_tr
{
padding-right: 20px;
}
.al_wt td.al_tl
{
padding-left: 20px;
border-left: 1px solid #e2e9fc;
}
.al_wlink
{
font-size: 12px;
color: #666;
padding: 5px 0;
line-height: 20px;
}
.al_wlink a
{
color: #77c;
margin: 0 5px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
城市:
<input type="text" id="txtcity" runat="server" />
<input type="button" runat="server" id="Submit" value="查 询" onserverclick="On_Submit" />
</div>
<div id="Div_html" runat="server">
</div>
</form>
</body>
</html>
分享到:
相关推荐
基于百度AI开放平台的人脸识别门禁系统.pdf
基于百度AI开放平台人脸识别SDK写的C# 人脸识别Demo,包含 人脸注册:将人脸照片注册到百度AI开放平台人脸库中。 人脸检测:根据人脸检测年龄、性别、表情、靓丽度、人种、眼镜等特征 人脸识别:识别百度AI开放平台...
利用百度AI开放平台API(C#)开发出来多个小功能,人脸注册,人脸识别,人脸分析,图像识别,语音合成,语音识别,文字识别,百度翻译,车辆识别,身份证识别,银行卡等,其中语音模块用到了NAudioRecorder类库。...
基于PHP和高德开放平台的天气信息组件源码+使用说明.tar基于PHP和高德开放平台的天气信息组件源码+使用说明.tar基于PHP和高德开放平台的天气信息组件源码+使用说明.tar基于PHP和高德开放平台的天气信息组件源码+使用...
Android 基于百度API Store的天气预报能够通过选择城市对城市的3天天气进行查询,界面简单大方 [注意:本资源来自网络,如有侵权,请联系我删除,谢谢。]
基于百度地图的天气查询组件
基于百度的天气预报,可以添加城市和选择城市。
本资源是基于百度Ai开放平台进行文字识别,通过访问百度API在C#语言中写的。希望能够帮助到大家,共同学习进步。
百度知道开放平台OPEN API PHP SDK V0.1 (数据合作)提供接口:getQuestionList 基于百度知道分类ID获取对应分类下的问题列表getQuestionSearch 基于检索关键字在百度知道中搜索匹配的问题列表getQuestionInfo 基于...
能够通过选择城市对城市的3天天气进行查询,界面简单大方
伊瓦,家庭语音控制"假...它是一个伪AI项目,全部基于百度AI开放平台,语音识别指令,NLP语义理解;可以理解为带有大屏的假"智能音箱"。支持Ubuntu, Deepin, Fedora, Mac等类Unix系统下调试开发运行, 不支持Windows.
Weather 基于高德开放平台的 PHP 天气信息组件
基于高德地图开放平台的PHP 天气信息组件
用百度定位实现的定位功能,项目自带了一个key,如果失效了就要去百度开放云申请密钥,这里就不说明申请过程了,不懂得可以百度一下。另外项目缺个v7的包,自己找个添加引用就可以。www.之前也介绍过很多关于天气...
getQuestionSearch 基于检索关键字在百度知道中搜索匹配的问题列表 getQuestionInfo 基于百度知道问题ID获取对应问题的数据以及回答 getQuestionAnswer 基于百度知道问题ID、回答ID获取对应问题的数据的回答 ...
基于百度地图API的天气预报小应用,是我之前给学姐做的课设,参考了郭霖老师的《第一行代码》,界面比较简单,需要的同学可以参考一下。
基于 高德开放平台 的 PHP 天气信息组件
Weather基于百度地图接口的PHP天气信息组件
java基于高德地图实现实时查询天气功能源代码。基于高德地图实现实时查询天气功能,api二次开发java基于高德地图实现实时查询天气功能源代码。基于高德地图实现实时查询天气功能,api二次开发java基于高德地图实现...
基于PHP的百度知道开放平台数据合作 php版 SDK.zip