注:(不是原创,转别人的,用来学习交流的)
(备注:要引入命名空间
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>
分享到:
相关推荐
【描述】"基于百度地图的天气查询组件"意味着开发者使用了百度地图的开放接口,通过发送请求到百度地图服务器,获取到相关的天气数据,并在用户界面上进行显示。这种组件可能包含了地图定位、天气图标、温度、湿度、...
标题“基于百度API Store的天气预报”涉及到的关键技术点是使用百度API Store提供的服务来获取并展示天气信息。首先,我们需要了解API(Application Programming Interface)是软件之间交互的一种方式,而百度API ...
在Android开发中,实现一个基于百度API Store的天气预报应用是一项常见的任务,它涉及到网络请求、数据解析、UI设计等多个方面。以下是对这个主题的详细解释: 首先,我们需要理解“百度API Store”。百度API Store...
在IT行业中,开发一款基于百度接口的天气预报应用是一项常见的任务。这个应用允许用户添加他们关心的城市,并查询这些城市的实时及未来天气状况。下面将详细解释这个项目涉及到的知识点。 首先,我们需要理解“百度...
本项目"基于百度天气API的android天气预报源码"提供了一个完整的解决方案,它利用了百度开放平台提供的天气API来获取实时天气信息,并将这些信息在Android应用中进行展示。 首先,我们来详细了解一下**百度天气API*...
www.之前也介绍过很多关于天气查询的项目源码,各式各样的都有,需要更多的朋友可以在www.搜索“天气”就可以找到。本源码技术解析文章:http://blog.csdn.net/chunfeng131/article/details/50281995(比较适合入门...
Android平台下的天气预报APP需要实现城市定位、天气查询及天气显示等功能模块。这些功能模块需要基于Android平台的特点进行设计和实现,例如使用Android Studio开发环境、使用HttpURLConnection类实现网络访问等。 ...
【标题】"Weather基于百度地图接口的PHP天气...综上所述,"Weather基于百度地图接口的PHP天气信息组件"是一个高效且易于集成的工具,它充分利用了百度地图API的能力,帮助PHP开发者轻松地在项目中添加天气查询功能。
在Android开发中,实现基于百度API的天气预报功能是一项常见的任务。这个小demo为我们提供了一个简单易懂的实例,展示了如何利用HttpClient库获取并解析来自百度API的天气数据。接下来,我们将深入探讨这个过程涉及...
过之前用过的百度地图,实现定位功能;首先去百度开放云申请密钥,这里就不说明申请过程了,不懂得可以百度一下。
【标题】"百度API全国天气查询页面模板"是基于百度开放平台的天气API开发的一款界面设计,用于展示全国各地的实时天气信息。这个模板通常被应用于后台管理系统的首页,旨在为用户提供直观、美观且高效的天气查询功能...
要调用百度天气API,你需要先在百度开放平台注册并获取API密钥。这个密钥在后续的请求中会被用来验证你的身份,确保只有授权的开发者可以访问数据。在ASP.NET中,我们可以使用HttpClient类来发起HTTP请求,获取API的...
百度提供了丰富的开放接口,其中包括天气查询服务,允许开发者通过发送特定的HTTP请求,获取到指定城市的实时和未来几天的天气预报。在Android demo中,开发者需要注册并获取百度API密钥,这个密钥将在请求时作为...
1. **百度API**:百度开放平台提供了一系列API接口,其中包括天气查询接口。开发者可以通过调用这些接口,获取到全国各城市的天气数据。使用API时,需要遵循其文档规定,正确设置请求参数和接收返回的JSON或XML格式...
开发者可能使用了百度开放平台提供的天气预报API来获取数据,并将其集成到Android应用中。同时,"也可以自己申请百度ak,看百度申请ak教程"指出,为了使用百度API,需要先注册并获取API Key(AK),这是一个用于验证...
百度开放平台提供了丰富的API服务,其中包括天气API,它允许开发者通过发送HTTP请求到特定的URL,获取指定城市的实时和未来天气信息。这个接口是基于RESTful架构设计的,易于理解和使用,支持JSON和XML两种数据格式...
内容概要:本作品基于百度AI平台的开放服务,设计并实现了一款智能聊天助手,旨在为用户提供便捷的智能交互体验。智能聊天助手通过微信公众号的形式展示,不受限于移动设备的硬件环境,只需关注对应的微信公众号即可...
【标题】:“百度天气API使用”是指通过调用百度提供的开放接口来获取并展示特定城市的实时及未来几天天气预报信息的技术实践。这个项目基于Java语言,利用Tomcat服务器作为运行平台,实现用户在浏览器上查看天气...
以上就是基于给定标题和描述的Android开发中获取并显示百度天气信息的主要技术流程和知识点。实际项目可能还包括错误处理、用户权限管理、性能优化等多个方面,这些都是移动应用开发中不可忽视的部分。